Make USB permissions work in the new permission message system
[chromium-blink-merge.git] / content / renderer / dom_storage / webstoragearea_impl.h
blob24056ce26e57f79816ab4ba1918411895f9e2382
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_RENDERER_DOM_STORAGE_WEBSTORAGEAREA_IMPL_H_
6 #define CONTENT_RENDERER_DOM_STORAGE_WEBSTORAGEAREA_IMPL_H_
8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h"
10 #include "third_party/WebKit/public/platform/WebStorageArea.h"
11 #include "third_party/WebKit/public/platform/WebString.h"
13 class GURL;
15 namespace content {
17 class DOMStorageCachedArea;
19 class WebStorageAreaImpl : public blink::WebStorageArea {
20 public:
21 static WebStorageAreaImpl* FromConnectionId(int id);
23 WebStorageAreaImpl(int64 namespace_id, const GURL& origin);
24 virtual ~WebStorageAreaImpl();
26 // See WebStorageArea.h for documentation on these functions.
27 virtual unsigned length();
28 virtual blink::WebString key(unsigned index);
29 virtual blink::WebString getItem(const blink::WebString& key);
30 virtual void setItem(
31 const blink::WebString& key, const blink::WebString& value,
32 const blink::WebURL& page_url, WebStorageArea::Result& result);
33 virtual void removeItem(
34 const blink::WebString& key, const blink::WebURL& page_url);
35 virtual void clear(const blink::WebURL& url);
36 virtual size_t memoryBytesUsedByCache() const;
38 private:
39 int connection_id_;
40 scoped_refptr<DOMStorageCachedArea> cached_area_;
43 } // namespace content
45 #endif // CONTENT_RENDERER_DOM_STORAGE_WEBSTORAGEAREA_IMPL_H_