Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(433)

Unified Diff: webkit/tools/test_shell/simple_dom_storage_system.cc

Issue 15946006: Move C++ code from webkit/tools/test_shell to webkit/support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix npapi_test_plugin Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/tools/test_shell/simple_dom_storage_system.h ('k') | webkit/tools/test_shell/simple_file_system.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, &notused);
-}
-
-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 */);
- }
-}
« no previous file with comments | « webkit/tools/test_shell/simple_dom_storage_system.h ('k') | webkit/tools/test_shell/simple_file_system.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698