OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/in_process_webkit/dom_storage_area.h" | 5 #include "webkit/dom_storage/dom_storage_area.h" |
6 | 6 |
7 #include "base/logging.h" | 7 namespace dom_storage { |
8 #include "content/browser/in_process_webkit/dom_storage_context.h" | |
9 #include "content/browser/in_process_webkit/dom_storage_namespace.h" | |
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" | |
11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageArea.h" | |
12 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" | |
13 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" | |
14 #include "webkit/glue/webkit_glue.h" | |
15 | 8 |
16 using WebKit::WebSecurityOrigin; | 9 DomStorageArea::DomStorageArea( |
17 using WebKit::WebStorageArea; | 10 const GURL& origin, int64 namespace_id, const FilePath& backing_file, |
18 using WebKit::WebString; | 11 DomStorageTaskRunner* task_runner) { |
19 using WebKit::WebURL; | |
20 | |
21 DOMStorageArea::DOMStorageArea( | |
22 const string16& origin, | |
23 int64 id, | |
24 DOMStorageNamespace* owner) | |
25 : origin_(origin), | |
26 origin_url_(origin), | |
27 id_(id), | |
28 owner_(owner) { | |
29 DCHECK(owner_); | |
30 } | 12 } |
31 | 13 |
32 DOMStorageArea::~DOMStorageArea() { | 14 DomStorageArea::~DomStorageArea() { |
33 } | 15 } |
34 | 16 |
35 unsigned DOMStorageArea::Length() { | 17 int DomStorageArea::Length() { |
36 CreateWebStorageAreaIfNecessary(); | 18 return 0; |
37 return storage_area_->length(); | |
38 } | 19 } |
39 | 20 |
40 NullableString16 DOMStorageArea::Key(unsigned index) { | 21 NullableString16 DomStorageArea::Key(int index) { |
41 CreateWebStorageAreaIfNecessary(); | 22 return NullableString16(true); |
42 return storage_area_->key(index); | |
43 } | 23 } |
44 | 24 |
45 NullableString16 DOMStorageArea::GetItem(const string16& key) { | 25 NullableString16 DomStorageArea::GetItem(const string16& key) { |
46 CreateWebStorageAreaIfNecessary(); | 26 return NullableString16(true); |
47 return storage_area_->getItem(key); | |
48 } | 27 } |
49 | 28 |
50 NullableString16 DOMStorageArea::SetItem( | 29 bool DomStorageArea::SetItem( |
51 const string16& key, const string16& value, | 30 const string16& key, const string16& value, |
52 WebStorageArea::Result* result) { | 31 NullableString16* old_value) { |
53 CreateWebStorageAreaIfNecessary(); | 32 return false; |
54 WebString old_value; | |
55 storage_area_->setItem(key, value, WebURL(), *result, old_value); | |
56 return old_value; | |
57 } | 33 } |
58 | 34 |
59 NullableString16 DOMStorageArea::RemoveItem(const string16& key) { | 35 bool DomStorageArea::RemoveItem( |
60 CreateWebStorageAreaIfNecessary(); | 36 const string16& key, |
61 WebString old_value; | 37 string16* old_value) { |
62 storage_area_->removeItem(key, WebURL(), old_value); | 38 return false; |
63 return old_value; | |
64 } | 39 } |
65 | 40 |
66 bool DOMStorageArea::Clear() { | 41 bool DomStorageArea::Clear() { |
67 CreateWebStorageAreaIfNecessary(); | 42 return false; |
68 bool somethingCleared; | |
69 storage_area_->clear(WebURL(), somethingCleared); | |
70 return somethingCleared; | |
71 } | 43 } |
72 | 44 |
73 void DOMStorageArea::PurgeMemory() { | 45 void DomStorageArea::PurgeMemory() { |
74 storage_area_.reset(); | |
75 } | 46 } |
76 | 47 |
77 void DOMStorageArea::CreateWebStorageAreaIfNecessary() { | 48 void DomStorageArea::SyncChanges() { |
78 if (!storage_area_.get()) | |
79 storage_area_.reset(owner_->CreateWebStorageArea(origin_)); | |
80 } | 49 } |
| 50 |
| 51 } // namespace dom_storage |
OLD | NEW |