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"
17 class DOMStorageCachedArea
;
19 class WebStorageAreaImpl
: public blink::WebStorageArea
{
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
);
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;
40 scoped_refptr
<DOMStorageCachedArea
> cached_area_
;
43 } // namespace content
45 #endif // CONTENT_RENDERER_DOM_STORAGE_WEBSTORAGEAREA_IMPL_H_