diff options
author | limasdf@gmail.com <limasdf@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-25 06:44:57 +0000 |
---|---|---|
committer | limasdf@gmail.com <limasdf@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-25 06:44:57 +0000 |
commit | daf3ffda651eef6074bb350126afdb284cc4f94d (patch) | |
tree | 69fb048a402d88e2f651631614e2d18cb2dada04 | |
parent | d851d064ee06e6835b7ef153ec4afe5c3aeb77ee (diff) | |
download | chromium_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
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', |