summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlimasdf@gmail.com <limasdf@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-25 06:44:57 +0000
committerlimasdf@gmail.com <limasdf@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-25 06:44:57 +0000
commitdaf3ffda651eef6074bb350126afdb284cc4f94d (patch)
tree69fb048a402d88e2f651631614e2d18cb2dada04
parentd851d064ee06e6835b7ef153ec4afe5c3aeb77ee (diff)
downloadchromium_src-daf3ffda651eef6074bb350126afdb284cc4f94d.zip
chromium_src-daf3ffda651eef6074bb350126afdb284cc4f94d.tar.gz
chromium_src-daf3ffda651eef6074bb350126afdb284cc4f94d.tar.bz2
Move /c/b/extensions/StateStore to /extension/browser
Since it's a key part of the extensions system. And remove Profile dependency from StateStore. R=yoz@chromium.org, thestig@chromium.org BUG=159265 Review URL: https://codereview.chromium.org/348103002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279640 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/platform_keys/platform_keys_service.cc2
-rw-r--r--chrome/browser/extensions/api/alarms/alarm_manager.cc2
-rw-r--r--chrome/browser/extensions/api/declarative/rules_cache_delegate.cc2
-rw-r--r--chrome/browser/extensions/api/declarative/rules_registry.cc2
-rw-r--r--chrome/browser/extensions/api/extension_action/browser_action_browsertest.cc2
-rw-r--r--chrome/browser/extensions/api/extension_action/extension_action_api.cc2
-rw-r--r--chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.cc2
-rw-r--r--chrome/browser/extensions/extension_system_impl.cc2
-rw-r--r--chrome/browser/extensions/menu_manager.cc2
-rw-r--r--chrome/browser/extensions/test_extension_system.cc2
-rw-r--r--chrome/chrome_browser_extensions.gypi2
-rw-r--r--extensions/browser/state_store.cc (renamed from chrome/browser/extensions/state_store.cc)72
-rw-r--r--extensions/browser/state_store.h (renamed from chrome/browser/extensions/state_store.h)16
-rw-r--r--extensions/extensions.gyp2
14 files changed, 59 insertions, 53 deletions
diff --git a/chrome/browser/chromeos/platform_keys/platform_keys_service.cc b/chrome/browser/chromeos/platform_keys/platform_keys_service.cc
index 9b1d0b5..3f8268a 100644
--- a/chrome/browser/chromeos/platform_keys/platform_keys_service.cc
+++ b/chrome/browser/chromeos/platform_keys/platform_keys_service.cc
@@ -8,8 +8,8 @@
#include "base/callback.h"
#include "base/values.h"
#include "chrome/browser/chromeos/platform_keys/platform_keys.h"
-#include "chrome/browser/extensions/state_store.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/state_store.h"
using content::BrowserThread;
diff --git a/chrome/browser/extensions/api/alarms/alarm_manager.cc b/chrome/browser/extensions/api/alarms/alarm_manager.cc
index ddd4c5c..024e3cb 100644
--- a/chrome/browser/extensions/api/alarms/alarm_manager.cc
+++ b/chrome/browser/extensions/api/alarms/alarm_manager.cc
@@ -14,11 +14,11 @@
#include "base/value_conversions.h"
#include "base/values.h"
#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/common/extensions/api/alarms.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/state_store.h"
namespace extensions {
diff --git a/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc b/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc
index bfe59ac..44b7cc3 100644
--- a/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc
+++ b/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc
@@ -8,7 +8,6 @@
#include "chrome/browser/extensions/api/declarative/rules_registry.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_util.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
@@ -16,6 +15,7 @@
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/info_map.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/permissions/permissions_data.h"
namespace {
diff --git a/chrome/browser/extensions/api/declarative/rules_registry.cc b/chrome/browser/extensions/api/declarative/rules_registry.cc
index d51416c..c55e8d8 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry.cc
@@ -18,13 +18,13 @@
#include "chrome/browser/extensions/api/declarative/rules_cache_delegate.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_util.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/extension.h"
namespace {
diff --git a/chrome/browser/extensions/api/extension_action/browser_action_browsertest.cc b/chrome/browser/extensions/api/extension_action/browser_action_browsertest.cc
index fa590e7..30aac77 100644
--- a/chrome/browser/extensions/api/extension_action/browser_action_browsertest.cc
+++ b/chrome/browser/extensions/api/extension_action/browser_action_browsertest.cc
@@ -8,10 +8,10 @@
#include "chrome/browser/extensions/extension_action_manager.h"
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
-#include "chrome/browser/extensions/state_store.h"
#include "content/public/test/test_utils.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/extension.h"
#include "third_party/skia/include/core/SkColor.h"
diff --git a/chrome/browser/extensions/api/extension_action/extension_action_api.cc b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
index d2db352..5839319 100644
--- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc
+++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
@@ -17,7 +17,6 @@
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/extensions/extension_toolbar_model.h"
#include "chrome/browser/extensions/location_bar_controller.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/extension_action/action_info.h"
@@ -30,6 +29,7 @@
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/image_util.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/error_utils.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/image/image.h"
diff --git a/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.cc b/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.cc
index 2c4f4e7..47e29e2 100644
--- a/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.cc
+++ b/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.cc
@@ -16,13 +16,13 @@
#include "chrome/browser/extensions/api/media_galleries_private/gallery_watch_manager.h"
#include "chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.h"
#include "chrome/browser/extensions/api/media_galleries_private/media_galleries_private_event_router.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/media_galleries/media_file_system_registry.h"
#include "chrome/browser/media_galleries/media_galleries_preferences.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/extension.h"
namespace extensions {
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc
index 54f9caa..04d7a93 100644
--- a/chrome/browser/extensions/extension_system_impl.cc
+++ b/chrome/browser/extensions/extension_system_impl.cc
@@ -26,7 +26,6 @@
#include "chrome/browser/extensions/navigation_observer.h"
#include "chrome/browser/extensions/shared_module_service.h"
#include "chrome/browser/extensions/standard_management_policy_provider.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/extensions/updater/manifest_fetch_data.h"
#include "chrome/browser/extensions/user_script_master.h"
@@ -55,6 +54,7 @@
#include "extensions/browser/process_manager.h"
#include "extensions/browser/quota_service.h"
#include "extensions/browser/runtime_data.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
#include "extensions/common/manifest.h"
diff --git a/chrome/browser/extensions/menu_manager.cc b/chrome/browser/extensions/menu_manager.cc
index dc71cc6..0a06139 100644
--- a/chrome/browser/extensions/menu_manager.cc
+++ b/chrome/browser/extensions/menu_manager.cc
@@ -16,7 +16,6 @@
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/extensions/menu_manager_factory.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/profiles/profile.h"
@@ -30,6 +29,7 @@
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/state_store.h"
#include "extensions/common/extension.h"
#include "extensions/common/manifest_handlers/background_info.h"
#include "ui/gfx/favicon_size.h"
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
index 9a8a3be..b115904 100644
--- a/chrome/browser/extensions/test_extension_system.cc
+++ b/chrome/browser/extensions/test_extension_system.cc
@@ -12,7 +12,6 @@
#include "chrome/browser/extensions/install_verifier.h"
#include "chrome/browser/extensions/shared_module_service.h"
#include "chrome/browser/extensions/standard_management_policy_provider.h"
-#include "chrome/browser/extensions/state_store.h"
#include "chrome/browser/extensions/user_script_master.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
@@ -30,6 +29,7 @@
#include "extensions/browser/process_manager.h"
#include "extensions/browser/quota_service.h"
#include "extensions/browser/runtime_data.h"
+#include "extensions/browser/state_store.h"
#include "extensions/browser/value_store/testing_value_store.h"
using content::BrowserThread;
diff --git a/chrome/chrome_browser_extensions.gypi b/chrome/chrome_browser_extensions.gypi
index d71a68e..a330395 100644
--- a/chrome/chrome_browser_extensions.gypi
+++ b/chrome/chrome_browser_extensions.gypi
@@ -899,8 +899,6 @@
'browser/extensions/standard_management_policy_provider.h',
'browser/extensions/startup_helper.cc',
'browser/extensions/startup_helper.h',
- 'browser/extensions/state_store.cc',
- 'browser/extensions/state_store.h',
'browser/extensions/suspicious_extension_bubble_controller.cc',
'browser/extensions/suspicious_extension_bubble_controller.h',
'browser/extensions/suggest_permission_util.h',
diff --git a/chrome/browser/extensions/state_store.cc b/extensions/browser/state_store.cc
index 8926211..ced256a 100644
--- a/chrome/browser/extensions/state_store.cc
+++ b/extensions/browser/state_store.cc
@@ -1,13 +1,13 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2014 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 "chrome/browser/extensions/state_store.h"
+#include "extensions/browser/state_store.h"
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/profiles/profile.h"
+#include "content/public/browser/browser_context.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
#include "extensions/browser/extension_registry.h"
@@ -65,32 +65,35 @@ void StateStore::DelayedTaskQueue::SetReady() {
pending_tasks_.clear();
}
-StateStore::StateStore(Profile* profile,
+StateStore::StateStore(content::BrowserContext* context,
const base::FilePath& db_path,
bool deferred_load)
: db_path_(db_path),
task_queue_(new DelayedTaskQueue()),
extension_registry_observer_(this) {
- extension_registry_observer_.Add(ExtensionRegistry::Get(profile));
+ extension_registry_observer_.Add(ExtensionRegistry::Get(context));
if (deferred_load) {
// Don't Init until the first page is loaded or the session restored.
- registrar_.Add(this, content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME,
- content::NotificationService::
- AllBrowserContextsAndSources());
- registrar_.Add(this, chrome::NOTIFICATION_SESSION_RESTORE_DONE,
- content::NotificationService::
- AllBrowserContextsAndSources());
+ registrar_.Add(
+ this,
+ content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME,
+ content::NotificationService::AllBrowserContextsAndSources());
+ registrar_.Add(
+ this,
+ chrome::NOTIFICATION_SESSION_RESTORE_DONE,
+ content::NotificationService::AllBrowserContextsAndSources());
} else {
Init();
}
}
-StateStore::StateStore(Profile* profile, scoped_ptr<ValueStore> value_store)
+StateStore::StateStore(content::BrowserContext* context,
+ scoped_ptr<ValueStore> value_store)
: store_(value_store.Pass()),
task_queue_(new DelayedTaskQueue()),
extension_registry_observer_(this) {
- extension_registry_observer_.Add(ExtensionRegistry::Get(profile));
+ extension_registry_observer_.Add(ExtensionRegistry::Get(context));
// This constructor is for testing. No need to delay Init.
Init();
@@ -106,28 +109,31 @@ void StateStore::RegisterKey(const std::string& key) {
void StateStore::GetExtensionValue(const std::string& extension_id,
const std::string& key,
ReadCallback callback) {
- task_queue_->InvokeWhenReady(
- base::Bind(&ValueStoreFrontend::Get, base::Unretained(&store_),
- GetFullKey(extension_id, key), callback));
+ task_queue_->InvokeWhenReady(base::Bind(&ValueStoreFrontend::Get,
+ base::Unretained(&store_),
+ GetFullKey(extension_id, key),
+ callback));
}
-void StateStore::SetExtensionValue(
- const std::string& extension_id,
- const std::string& key,
- scoped_ptr<base::Value> value) {
- task_queue_->InvokeWhenReady(
- base::Bind(&ValueStoreFrontend::Set, base::Unretained(&store_),
- GetFullKey(extension_id, key), base::Passed(&value)));
+void StateStore::SetExtensionValue(const std::string& extension_id,
+ const std::string& key,
+ scoped_ptr<base::Value> value) {
+ task_queue_->InvokeWhenReady(base::Bind(&ValueStoreFrontend::Set,
+ base::Unretained(&store_),
+ GetFullKey(extension_id, key),
+ base::Passed(&value)));
}
void StateStore::RemoveExtensionValue(const std::string& extension_id,
const std::string& key) {
- task_queue_->InvokeWhenReady(
- base::Bind(&ValueStoreFrontend::Remove, base::Unretained(&store_),
- GetFullKey(extension_id, key)));
+ task_queue_->InvokeWhenReady(base::Bind(&ValueStoreFrontend::Remove,
+ base::Unretained(&store_),
+ GetFullKey(extension_id, key)));
}
-bool StateStore::IsInitialized() const { return task_queue_->ready(); }
+bool StateStore::IsInitialized() const {
+ return task_queue_->ready();
+}
void StateStore::Observe(int type,
const content::NotificationSource& source,
@@ -136,7 +142,8 @@ void StateStore::Observe(int type,
type == content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME);
registrar_.RemoveAll();
- base::MessageLoop::current()->PostDelayedTask(FROM_HERE,
+ base::MessageLoop::current()->PostDelayedTask(
+ FROM_HERE,
base::Bind(&StateStore::Init, AsWeakPtr()),
base::TimeDelta::FromSeconds(kInitDelaySeconds));
}
@@ -164,10 +171,11 @@ void StateStore::Init() {
void StateStore::RemoveKeysForExtension(const std::string& extension_id) {
for (std::set<std::string>::iterator key = registered_keys_.begin();
- key != registered_keys_.end(); ++key) {
- task_queue_->InvokeWhenReady(
- base::Bind(&ValueStoreFrontend::Remove, base::Unretained(&store_),
- GetFullKey(extension_id, *key)));
+ key != registered_keys_.end();
+ ++key) {
+ task_queue_->InvokeWhenReady(base::Bind(&ValueStoreFrontend::Remove,
+ base::Unretained(&store_),
+ GetFullKey(extension_id, *key)));
}
}
diff --git a/chrome/browser/extensions/state_store.h b/extensions/browser/state_store.h
index 092dad3..3c052fa 100644
--- a/chrome/browser/extensions/state_store.h
+++ b/extensions/browser/state_store.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2014 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.
@@ -16,8 +16,6 @@
#include "extensions/browser/extension_registry_observer.h"
#include "extensions/browser/value_store/value_store_frontend.h"
-class Profile;
-
namespace content {
class BrowserContext;
}
@@ -27,19 +25,19 @@ namespace extensions {
class ExtensionRegistry;
// A storage area for per-extension state that needs to be persisted to disk.
-class StateStore
- : public base::SupportsWeakPtr<StateStore>,
- public ExtensionRegistryObserver,
- public content::NotificationObserver {
+class StateStore : public base::SupportsWeakPtr<StateStore>,
+ public ExtensionRegistryObserver,
+ public content::NotificationObserver {
public:
typedef ValueStoreFrontend::ReadCallback ReadCallback;
// If |deferred_load| is true, we won't load the database until the first
// page has been loaded.
- StateStore(Profile* profile, const base::FilePath& db_path,
+ StateStore(content::BrowserContext* context,
+ const base::FilePath& db_path,
bool deferred_load);
// This variant is useful for testing (using a mock ValueStore).
- StateStore(Profile* profile, scoped_ptr<ValueStore> store);
+ StateStore(content::BrowserContext* context, scoped_ptr<ValueStore> store);
virtual ~StateStore();
// Register a key for removal upon extension install/uninstall. We remove
diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp
index 30aaa31..aad3a2f 100644
--- a/extensions/extensions.gyp
+++ b/extensions/extensions.gyp
@@ -423,6 +423,8 @@
'browser/renderer_startup_helper.h',
'browser/runtime_data.cc',
'browser/runtime_data.h',
+ 'browser/state_store.cc',
+ 'browser/state_store.h',
'browser/update_observer.h',
'browser/value_store/leveldb_value_store.cc',
'browser/value_store/leveldb_value_store.h',