| Index: webkit/tools/test_shell/simple_dom_storage_system.cc
|
| diff --git a/webkit/tools/test_shell/simple_dom_storage_system.cc b/webkit/tools/test_shell/simple_dom_storage_system.cc
|
| deleted file mode 100644
|
| index 1acdc7bae9bb85de5ca55e20909005d4f52173f4..0000000000000000000000000000000000000000
|
| --- a/webkit/tools/test_shell/simple_dom_storage_system.cc
|
| +++ /dev/null
|
| @@ -1,286 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "webkit/tools/test_shell/simple_dom_storage_system.h"
|
| -
|
| -#include "base/auto_reset.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "third_party/WebKit/public/platform/WebStorageArea.h"
|
| -#include "third_party/WebKit/public/platform/WebStorageNamespace.h"
|
| -#include "third_party/WebKit/public/platform/WebURL.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageEventDispatcher.h"
|
| -#include "webkit/browser/database/database_util.h"
|
| -#include "webkit/browser/dom_storage/dom_storage_area.h"
|
| -#include "webkit/browser/dom_storage/dom_storage_host.h"
|
| -
|
| -using dom_storage::DomStorageContext;
|
| -using dom_storage::DomStorageHost;
|
| -using dom_storage::DomStorageSession;
|
| -using webkit_database::DatabaseUtil;
|
| -using WebKit::WebStorageArea;
|
| -using WebKit::WebStorageNamespace;
|
| -using WebKit::WebStorageEventDispatcher;
|
| -using WebKit::WebString;
|
| -using WebKit::WebURL;
|
| -
|
| -namespace {
|
| -const int kInvalidNamespaceId = -1;
|
| -}
|
| -
|
| -class SimpleDomStorageSystem::NamespaceImpl : public WebStorageNamespace {
|
| - public:
|
| - explicit NamespaceImpl(const base::WeakPtr<SimpleDomStorageSystem>& parent);
|
| - NamespaceImpl(const base::WeakPtr<SimpleDomStorageSystem>& parent,
|
| - int session_namespace_id);
|
| - virtual ~NamespaceImpl();
|
| - virtual WebStorageArea* createStorageArea(const WebString& origin) OVERRIDE;
|
| - virtual WebStorageNamespace* copy() OVERRIDE;
|
| - virtual bool isSameNamespace(const WebStorageNamespace&) const OVERRIDE;
|
| -
|
| - private:
|
| - DomStorageContext* Context() {
|
| - if (!parent_.get())
|
| - return NULL;
|
| - return parent_->context_.get();
|
| - }
|
| -
|
| - base::WeakPtr<SimpleDomStorageSystem> parent_;
|
| - int namespace_id_;
|
| -};
|
| -
|
| -class SimpleDomStorageSystem::AreaImpl : public WebStorageArea {
|
| - public:
|
| - AreaImpl(const base::WeakPtr<SimpleDomStorageSystem>& parent,
|
| - int namespace_id, const GURL& origin);
|
| - virtual ~AreaImpl();
|
| - virtual unsigned length() OVERRIDE;
|
| - virtual WebString key(unsigned index) OVERRIDE;
|
| - virtual WebString getItem(const WebString& key) OVERRIDE;
|
| - virtual void setItem(const WebString& key, const WebString& newValue,
|
| - const WebURL& pageUrl, Result&) OVERRIDE;
|
| - virtual void removeItem(const WebString& key,
|
| - const WebURL& pageUrl) OVERRIDE;
|
| - virtual void clear(const WebURL& pageUrl) OVERRIDE;
|
| -
|
| - private:
|
| - DomStorageHost* Host() {
|
| - if (!parent_.get())
|
| - return NULL;
|
| - return parent_->host_.get();
|
| - }
|
| -
|
| - base::WeakPtr<SimpleDomStorageSystem> parent_;
|
| - int connection_id_;
|
| -};
|
| -
|
| -// NamespaceImpl -----------------------------
|
| -
|
| -SimpleDomStorageSystem::NamespaceImpl::NamespaceImpl(
|
| - const base::WeakPtr<SimpleDomStorageSystem>& parent)
|
| - : parent_(parent),
|
| - namespace_id_(dom_storage::kLocalStorageNamespaceId) {
|
| -}
|
| -
|
| -SimpleDomStorageSystem::NamespaceImpl::NamespaceImpl(
|
| - const base::WeakPtr<SimpleDomStorageSystem>& parent,
|
| - int session_namespace_id)
|
| - : parent_(parent),
|
| - namespace_id_(session_namespace_id) {
|
| -}
|
| -
|
| -SimpleDomStorageSystem::NamespaceImpl::~NamespaceImpl() {
|
| - if (namespace_id_ == dom_storage::kLocalStorageNamespaceId ||
|
| - namespace_id_ == kInvalidNamespaceId || !Context()) {
|
| - return;
|
| - }
|
| - Context()->DeleteSessionNamespace(namespace_id_, false);
|
| -}
|
| -
|
| -WebStorageArea* SimpleDomStorageSystem::NamespaceImpl::createStorageArea(
|
| - const WebString& origin) {
|
| - return new AreaImpl(parent_, namespace_id_, GURL(origin));
|
| -}
|
| -
|
| -WebStorageNamespace* SimpleDomStorageSystem::NamespaceImpl::copy() {
|
| - DCHECK_NE(dom_storage::kLocalStorageNamespaceId, namespace_id_);
|
| - int new_id = kInvalidNamespaceId;
|
| - if (Context()) {
|
| - new_id = Context()->AllocateSessionId();
|
| - Context()->CloneSessionNamespace(namespace_id_, new_id, std::string());
|
| - }
|
| - return new NamespaceImpl(parent_, new_id);
|
| -}
|
| -
|
| -bool SimpleDomStorageSystem::NamespaceImpl::isSameNamespace(
|
| - const WebStorageNamespace& other) const {
|
| - const NamespaceImpl* other_impl = static_cast<const NamespaceImpl*>(&other);
|
| - return namespace_id_ == other_impl->namespace_id_;
|
| -}
|
| -
|
| -// AreaImpl -----------------------------
|
| -
|
| -SimpleDomStorageSystem::AreaImpl::AreaImpl(
|
| - const base::WeakPtr<SimpleDomStorageSystem>& parent,
|
| - int namespace_id, const GURL& origin)
|
| - : parent_(parent),
|
| - connection_id_(0) {
|
| - if (Host()) {
|
| - connection_id_ = (parent_->next_connection_id_)++;
|
| - Host()->OpenStorageArea(connection_id_, namespace_id, origin);
|
| - }
|
| -}
|
| -
|
| -SimpleDomStorageSystem::AreaImpl::~AreaImpl() {
|
| - if (Host())
|
| - Host()->CloseStorageArea(connection_id_);
|
| -}
|
| -
|
| -unsigned SimpleDomStorageSystem::AreaImpl::length() {
|
| - if (Host())
|
| - return Host()->GetAreaLength(connection_id_);
|
| - return 0;
|
| -}
|
| -
|
| -WebString SimpleDomStorageSystem::AreaImpl::key(unsigned index) {
|
| - if (Host())
|
| - return Host()->GetAreaKey(connection_id_, index);
|
| - return NullableString16(true);
|
| -}
|
| -
|
| -WebString SimpleDomStorageSystem::AreaImpl::getItem(const WebString& key) {
|
| - if (Host())
|
| - return Host()->GetAreaItem(connection_id_, key);
|
| - return NullableString16(true);
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::AreaImpl::setItem(
|
| - const WebString& key, const WebString& newValue,
|
| - const WebURL& pageUrl, Result& result) {
|
| - result = ResultBlockedByQuota;
|
| - if (!Host())
|
| - return;
|
| -
|
| - base::AutoReset<AreaImpl*> auto_reset(&parent_->area_being_processed_, this);
|
| - NullableString16 unused;
|
| - if (!Host()->SetAreaItem(connection_id_, key, newValue, pageUrl,
|
| - &unused))
|
| - return;
|
| -
|
| - result = ResultOK;
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::AreaImpl::removeItem(
|
| - const WebString& key, const WebURL& pageUrl) {
|
| - if (!Host())
|
| - return;
|
| -
|
| - base::AutoReset<AreaImpl*> auto_reset(&parent_->area_being_processed_, this);
|
| - base::string16 notused;
|
| - Host()->RemoveAreaItem(connection_id_, key, pageUrl, ¬used);
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::AreaImpl::clear(const WebURL& pageUrl) {
|
| - if (!Host())
|
| - return;
|
| -
|
| - base::AutoReset<AreaImpl*> auto_reset(&parent_->area_being_processed_, this);
|
| - Host()->ClearArea(connection_id_, pageUrl);
|
| -}
|
| -
|
| -// SimpleDomStorageSystem -----------------------------
|
| -
|
| -SimpleDomStorageSystem* SimpleDomStorageSystem::g_instance_;
|
| -
|
| -SimpleDomStorageSystem::SimpleDomStorageSystem()
|
| - : weak_factory_(this),
|
| - context_(new DomStorageContext(base::FilePath(),
|
| - base::FilePath(),
|
| - NULL,
|
| - NULL)),
|
| - host_(new DomStorageHost(context_.get())),
|
| - area_being_processed_(NULL),
|
| - next_connection_id_(1) {
|
| - DCHECK(!g_instance_);
|
| - g_instance_ = this;
|
| - context_->AddEventObserver(this);
|
| -}
|
| -
|
| -SimpleDomStorageSystem::~SimpleDomStorageSystem() {
|
| - g_instance_ = NULL;
|
| - host_.reset();
|
| - context_->RemoveEventObserver(this);
|
| -}
|
| -
|
| -WebStorageNamespace* SimpleDomStorageSystem::CreateLocalStorageNamespace() {
|
| - return new NamespaceImpl(weak_factory_.GetWeakPtr());
|
| -}
|
| -
|
| -WebStorageNamespace* SimpleDomStorageSystem::CreateSessionStorageNamespace() {
|
| - int id = context_->AllocateSessionId();
|
| - context_->CreateSessionNamespace(id, std::string());
|
| - return new NamespaceImpl(weak_factory_.GetWeakPtr(), id);
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::OnDomStorageItemSet(
|
| - const dom_storage::DomStorageArea* area,
|
| - const base::string16& key,
|
| - const base::string16& new_value,
|
| - const NullableString16& old_value,
|
| - const GURL& page_url) {
|
| - DispatchDomStorageEvent(area, page_url,
|
| - NullableString16(key, false),
|
| - NullableString16(new_value, false),
|
| - old_value);
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::OnDomStorageItemRemoved(
|
| - const dom_storage::DomStorageArea* area,
|
| - const base::string16& key,
|
| - const base::string16& old_value,
|
| - const GURL& page_url) {
|
| - DispatchDomStorageEvent(area, page_url,
|
| - NullableString16(key, false),
|
| - NullableString16(true),
|
| - NullableString16(old_value, false));
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::OnDomStorageAreaCleared(
|
| - const dom_storage::DomStorageArea* area,
|
| - const GURL& page_url) {
|
| - DispatchDomStorageEvent(area, page_url,
|
| - NullableString16(true),
|
| - NullableString16(true),
|
| - NullableString16(true));
|
| -}
|
| -
|
| -void SimpleDomStorageSystem::DispatchDomStorageEvent(
|
| - const dom_storage::DomStorageArea* area,
|
| - const GURL& page_url,
|
| - const NullableString16& key,
|
| - const NullableString16& new_value,
|
| - const NullableString16& old_value) {
|
| - DCHECK(area_being_processed_);
|
| - if (area->namespace_id() == dom_storage::kLocalStorageNamespaceId) {
|
| - WebStorageEventDispatcher::dispatchLocalStorageEvent(
|
| - key,
|
| - old_value,
|
| - new_value,
|
| - area->origin(),
|
| - page_url,
|
| - area_being_processed_,
|
| - true /* originatedInProcess */);
|
| - } else {
|
| - NamespaceImpl session_namespace_for_event_dispatch(
|
| - base::WeakPtr<SimpleDomStorageSystem>(), area->namespace_id());
|
| - WebStorageEventDispatcher::dispatchSessionStorageEvent(
|
| - key,
|
| - old_value,
|
| - new_value,
|
| - area->origin(),
|
| - page_url,
|
| - session_namespace_for_event_dispatch,
|
| - area_being_processed_,
|
| - true /* originatedInProcess */);
|
| - }
|
| -}
|
|
|