| Index: content/renderer/dom_storage/local_storage_area.cc
|
| diff --git a/content/renderer/dom_storage/local_storage_area.cc b/content/renderer/dom_storage/local_storage_area.cc
|
| index 37e27433ffcc9859c2c1525d96485d3b7815903c..c551790c1139f5144b1e19e150c9b5f89d5a2cd3 100644
|
| --- a/content/renderer/dom_storage/local_storage_area.cc
|
| +++ b/content/renderer/dom_storage/local_storage_area.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "content/renderer/dom_storage/local_storage_area.h"
|
|
|
| +#include "base/rand_util.h"
|
| +#include "base/strings/string_number_conversions.h"
|
| #include "third_party/WebKit/public/platform/WebURL.h"
|
|
|
| using blink::WebString;
|
| @@ -13,10 +15,13 @@ namespace content {
|
|
|
| LocalStorageArea::LocalStorageArea(
|
| scoped_refptr<LocalStorageCachedArea> cached_area)
|
| - : cached_area_(std::move(cached_area)) {
|
| + : cached_area_(std::move(cached_area)),
|
| + id_(base::Uint64ToString(base::RandUint64())) {
|
| + cached_area_->AreaCreated(this);
|
| }
|
|
|
| LocalStorageArea::~LocalStorageArea() {
|
| + cached_area_->AreaDestroyed(this);
|
| }
|
|
|
| unsigned LocalStorageArea::length() {
|
| @@ -34,7 +39,7 @@ WebString LocalStorageArea::getItem(const WebString& key) {
|
| void LocalStorageArea::setItem(
|
| const WebString& key, const WebString& value, const WebURL& page_url,
|
| WebStorageArea::Result& result) {
|
| - if (!cached_area_->SetItem(key, value, page_url))
|
| + if (!cached_area_->SetItem(key, value, page_url, id_))
|
| result = ResultBlockedByQuota;
|
| else
|
| result = ResultOK;
|
| @@ -42,10 +47,11 @@ void LocalStorageArea::setItem(
|
|
|
| void LocalStorageArea::removeItem(
|
| const WebString& key, const WebURL& page_url) {
|
| - cached_area_->RemoveItem(key, page_url);
|
| + cached_area_->RemoveItem(key, page_url, id_);
|
| }
|
|
|
| void LocalStorageArea::clear(const WebURL& page_url) {
|
| + cached_area_->Clear(page_url, id_);
|
| }
|
|
|
| } // namespace content
|
|
|