Remove ExtensionService::extension_prefs()
Callers use ExtensionPrefs::Get instead of depending on
ExtensionService for access. Where appropriate, other
nearby, unnecessary references to ExtensionService have
also been removed.
BUG=341181
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
Review URL: https://codereview.chromium.org/156843004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251958 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/apps/app_browsertest.cc b/chrome/browser/apps/app_browsertest.cc
index 8ac50ed..5fb2f87 100644
--- a/chrome/browser/apps/app_browsertest.cc
+++ b/chrome/browser/apps/app_browsertest.cc
@@ -1009,9 +1009,7 @@
ASSERT_FALSE(should_not_install.seen());
// Simulate a "downgrade" from version 2 in the test manifest.json to 1.
- ExtensionPrefs* extension_prefs =
- extensions::ExtensionSystem::Get(browser()->profile())->
- extension_service()->extension_prefs();
+ ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(browser()->profile());
// Clear the registered events to ensure they are updated.
extensions::ExtensionSystem::Get(browser()->profile())->event_router()->
diff --git a/chrome/browser/apps/ephemeral_app_service.cc b/chrome/browser/apps/ephemeral_app_service.cc
index c658f292..8418e35 100644
--- a/chrome/browser/apps/ephemeral_app_service.cc
+++ b/chrome/browser/apps/ephemeral_app_service.cc
@@ -152,7 +152,7 @@
DCHECK(system);
ExtensionService* service = system->extension_service();
DCHECK(service);
- ExtensionPrefs* prefs = service->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_);
scoped_ptr<ExtensionSet> extensions =
service->GenerateInstalledExtensionsSet();
diff --git a/chrome/browser/download/download_crx_util.cc b/chrome/browser/download/download_crx_util.cc
index 9ba1ffd..bea0aaa 100644
--- a/chrome/browser/download/download_crx_util.cc
+++ b/chrome/browser/download/download_crx_util.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_install_prompt.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/webstore_installer.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -17,6 +16,7 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "content/public/browser/download_item.h"
#include "content/public/browser/notification_service.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/user_script.h"
@@ -128,12 +128,7 @@
}
bool OffStoreInstallAllowedByPrefs(Profile* profile, const DownloadItem& item) {
- ExtensionService* service = extensions::ExtensionSystem::Get(
- profile)->extension_service();
- if (!service)
- return false;
-
- extensions::ExtensionPrefs* prefs = service->extension_prefs();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile);
CHECK(prefs);
extensions::URLPatternSet url_patterns = prefs->GetAllowedInstallSites();
diff --git a/chrome/browser/extensions/api/app_runtime/app_runtime_api.cc b/chrome/browser/extensions/api/app_runtime/app_runtime_api.cc
index ca684f3..124748d0 100644
--- a/chrome/browser/extensions/api/app_runtime/app_runtime_api.cc
+++ b/chrome/browser/extensions/api/app_runtime/app_runtime_api.cc
@@ -11,7 +11,6 @@
#include "base/time/time.h"
#include "base/values.h"
#include "chrome/browser/extensions/api/file_handlers/app_file_handler_util.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/app_runtime.h"
#include "content/public/browser/web_contents.h"
@@ -50,8 +49,8 @@
event->can_load_ephemeral_apps = true;
system->event_router()->DispatchEventWithLazyListener(extension_id,
event.Pass());
- system->extension_service()->extension_prefs()->SetLastLaunchTime(
- extension_id, base::Time::Now());
+ ExtensionPrefs::Get(profile)
+ ->SetLastLaunchTime(extension_id, base::Time::Now());
}
} // anonymous namespace
diff --git a/chrome/browser/extensions/api/commands/command_service.cc b/chrome/browser/extensions/api/commands/command_service.cc
index 9b8ee618..70b29f8 100644
--- a/chrome/browser/extensions/api/commands/command_service.cc
+++ b/chrome/browser/extensions/api/commands/command_service.cc
@@ -17,7 +17,6 @@
#include "chrome/browser/extensions/extension_commands_global_registry.h"
#include "chrome/browser/extensions/extension_function_registry.h"
#include "chrome/browser/extensions/extension_keybinding_registry.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/accelerator_utils.h"
#include "chrome/common/extensions/api/commands/commands_handler.h"
@@ -26,6 +25,8 @@
#include "components/user_prefs/pref_registry_syncable.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
+#include "extensions/browser/extension_prefs.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/feature_switch.h"
#include "extensions/common/manifest_constants.h"
@@ -208,12 +209,9 @@
QueryType type,
CommandScope scope,
extensions::CommandMap* command_map) {
- ExtensionService* extension_service =
- ExtensionSystem::Get(profile_)->extension_service();
- if (!extension_service)
- return false; // Can occur during testing.
- const ExtensionSet* extensions = extension_service->extensions();
- const Extension* extension = extensions->GetByID(extension_id);
+ const ExtensionSet& extensions =
+ ExtensionRegistry::Get(profile_)->enabled_extensions();
+ const Extension* extension = extensions.GetByID(extension_id);
CHECK(extension);
command_map->clear();
@@ -393,9 +391,7 @@
if (!commands)
return;
- ExtensionService* extension_service =
- ExtensionSystem::Get(profile_)->extension_service();
- ExtensionPrefs* extension_prefs = extension_service->extension_prefs();
+ ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(profile_);
if (InitialBindingsHaveBeenAssigned(extension_prefs, extension->id()))
return;
SetInitialBindingsHaveBeenAssigned(extension_prefs, extension->id());
@@ -502,12 +498,9 @@
extensions::Command* command,
bool* active,
ExtensionActionType action_type) {
- ExtensionService* service =
- ExtensionSystem::Get(profile_)->extension_service();
- if (!service)
- return false; // Can happen in tests.
- const ExtensionSet* extensions = service->extensions();
- const Extension* extension = extensions->GetByID(extension_id);
+ const ExtensionSet& extensions =
+ ExtensionRegistry::Get(profile_)->enabled_extensions();
+ const Extension* extension = extensions.GetByID(extension_id);
CHECK(extension);
if (active)
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
index aff6ec18d..de3b111 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
@@ -51,6 +51,7 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/extension_error.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/management_policy.h"
@@ -782,7 +783,7 @@
}
if (enable) {
- ExtensionPrefs* prefs = service->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(GetProfile());
if (prefs->DidExtensionEscalatePermissions(extension_id)) {
AppWindowRegistry* registry = AppWindowRegistry::Get(GetProfile());
CHECK(registry);
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc
index 0e063ebc..59f2ac78 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -900,9 +900,8 @@
const extensions::Extension* extension,
base::ListValue* event_args) {
*any_determiners = true;
- base::Time installed = extensions::ExtensionSystem::Get(
- context)->extension_service()->extension_prefs()->
- GetInstallTime(extension->id());
+ base::Time installed =
+ extensions::ExtensionPrefs::Get(context)->GetInstallTime(extension->id());
data->AddPendingDeterminer(extension->id(), installed);
}
diff --git a/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc b/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
index 3d63e47..dc1bcaa5 100644
--- a/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
+++ b/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
@@ -484,8 +484,8 @@
// Now enable the extension in incognito mode, and test that the browser
// action shows up. Note that we don't update the existing window at the
// moment, so we just create a new one.
- extensions::ExtensionSystem::Get(browser()->profile())->extension_service()->
- extension_prefs()->SetIsIncognitoEnabled(extension->id(), true);
+ extensions::ExtensionPrefs::Get(browser()->profile())
+ ->SetIsIncognitoEnabled(extension->id(), true);
chrome::CloseWindow(incognito_browser);
incognito_browser =
@@ -525,8 +525,10 @@
// Now enable 2 of the extensions in incognito mode, and test that the browser
// actions show up.
- service->extension_prefs()->SetIsIncognitoEnabled(extension_a->id(), true);
- service->extension_prefs()->SetIsIncognitoEnabled(extension_c->id(), true);
+ extensions::ExtensionPrefs* prefs =
+ extensions::ExtensionPrefs::Get(browser()->profile());
+ prefs->SetIsIncognitoEnabled(extension_a->id(), true);
+ prefs->SetIsIncognitoEnabled(extension_c->id(), true);
Profile* incognito_profile = browser()->profile()->GetOffTheRecordProfile();
Browser* incognito_browser =
diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc
index da1e529f..45ab89cf 100644
--- a/chrome/browser/extensions/api/management/management_api.cc
+++ b/chrome/browser/extensions/api/management/management_api.cc
@@ -125,7 +125,7 @@
if (info->enabled) {
info->disabled_reason = management::ExtensionInfo::DISABLED_REASON_NONE;
} else {
- ExtensionPrefs* prefs = service->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(service->profile());
if (prefs->DidExtensionEscalatePermissions(extension.id())) {
info->disabled_reason =
management::ExtensionInfo::DISABLED_REASON_PERMISSIONS_INCREASE;
@@ -439,7 +439,7 @@
// If the user has not set a preference, the default launch value will be
// returned.
LaunchContainer launch_container =
- GetLaunchContainer(service()->extension_prefs(), extension);
+ GetLaunchContainer(ExtensionPrefs::Get(GetProfile()), extension);
OpenApplication(AppLaunchParams(
GetProfile(), extension, launch_container, NEW_FOREGROUND_TAB));
#if !defined(OS_ANDROID)
@@ -484,7 +484,7 @@
bool currently_enabled = service()->IsExtensionEnabled(extension_id_);
if (!currently_enabled && params->enabled) {
- ExtensionPrefs* prefs = service()->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(GetProfile());
if (prefs->DidExtensionEscalatePermissions(extension_id_)) {
if (!user_gesture()) {
error_ = keys::kGestureNeededForEscalationError;
diff --git a/chrome/browser/extensions/api/management/management_api_browsertest.cc b/chrome/browser/extensions/api/management/management_api_browsertest.cc
index ff0c7fc..9cdad5af3 100644
--- a/chrome/browser/extensions/api/management/management_api_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_api_browsertest.cc
@@ -206,8 +206,8 @@
EXPECT_FALSE(UpdateExtension(kId, path_v2, -1));
EXPECT_TRUE(service->GetExtensionById(kId, false) == NULL);
EXPECT_TRUE(service->GetExtensionById(kId, true) != NULL);
- EXPECT_TRUE(
- service->extension_prefs()->DidExtensionEscalatePermissions(kId));
+ EXPECT_TRUE(ExtensionPrefs::Get(browser()->profile())
+ ->DidExtensionEscalatePermissions(kId));
}
void SetEnabled(bool enabled, bool user_gesture,
diff --git a/chrome/browser/extensions/api/management/management_browsertest.cc b/chrome/browser/extensions/api/management/management_browsertest.cc
index 1407b57..754db10 100644
--- a/chrome/browser/extensions/api/management/management_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_browsertest.cc
@@ -441,7 +441,8 @@
UninstallExtension(kExtensionId);
- extensions::ExtensionPrefs* extension_prefs = service->extension_prefs();
+ extensions::ExtensionPrefs* extension_prefs =
+ extensions::ExtensionPrefs::Get(browser()->profile());
EXPECT_TRUE(extension_prefs->IsExternalExtensionUninstalled(kExtensionId))
<< "Uninstalling should set kill bit on externaly installed extension.";
diff --git a/chrome/browser/extensions/api/omnibox/omnibox_api.cc b/chrome/browser/extensions/api/omnibox/omnibox_api.cc
index 961637a..b512397 100644
--- a/chrome/browser/extensions/api/omnibox/omnibox_api.cc
+++ b/chrome/browser/extensions/api/omnibox/omnibox_api.cc
@@ -11,7 +11,6 @@
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/template_url.h"
@@ -23,6 +22,8 @@
#include "content/public/browser/notification_service.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_prefs.h"
+#include "extensions/browser/extension_prefs_factory.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/extension_system_provider.h"
#include "extensions/browser/extensions_browser_client.h"
@@ -59,8 +60,7 @@
scoped_ptr<omnibox::SuggestResult> GetOmniboxDefaultSuggestion(
Profile* profile,
const std::string& extension_id) {
- ExtensionPrefs* prefs =
- ExtensionSystem::Get(profile)->extension_service()->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile);
scoped_ptr<omnibox::SuggestResult> suggestion;
const base::DictionaryValue* dict = NULL;
@@ -79,8 +79,7 @@
Profile* profile,
const std::string& extension_id,
const omnibox::DefaultSuggestResult& suggestion) {
- ExtensionPrefs* prefs =
- ExtensionSystem::Get(profile)->extension_service()->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile);
if (!prefs)
return false;
@@ -112,9 +111,8 @@
bool ExtensionOmniboxEventRouter::OnInputChanged(
Profile* profile, const std::string& extension_id,
const std::string& input, int suggest_id) {
- if (!extensions::ExtensionSystem::Get(profile)->event_router()->
- ExtensionHasEventListener(extension_id,
- omnibox::OnInputChanged::kEventName))
+ if (!ExtensionSystem::Get(profile)->event_router()->ExtensionHasEventListener(
+ extension_id, omnibox::OnInputChanged::kEventName))
return false;
scoped_ptr<base::ListValue> args(new base::ListValue());
@@ -139,8 +137,8 @@
Profile::FromBrowserContext(web_contents->GetBrowserContext());
const Extension* extension =
- ExtensionSystem::Get(profile)->extension_service()->extensions()->
- GetByID(extension_id);
+ ExtensionRegistry::Get(profile)->enabled_extensions().GetByID(
+ extension_id);
CHECK(extension);
extensions::TabHelper::FromWebContents(web_contents)->
active_tab_permission_granter()->GrantIfRequested(extension);
@@ -281,6 +279,7 @@
template <>
void ProfileKeyedAPIFactory<OmniboxAPI>::DeclareFactoryDependencies() {
DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
+ DependsOn(ExtensionPrefsFactory::GetInstance());
DependsOn(TemplateURLServiceFactory::GetInstance());
}
diff --git a/chrome/browser/extensions/api/permissions/permissions_apitest.cc b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
index a2cacb79..b1fdcca 100644
--- a/chrome/browser/extensions/api/permissions/permissions_apitest.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/extensions/api/permissions/permissions_api.h"
#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "extensions/browser/extension_prefs.h"
@@ -79,8 +78,7 @@
new PermissionSet(apis, manifest_permissions,
explicit_hosts, URLPatternSet());
- ExtensionPrefs* prefs =
- browser()->profile()->GetExtensionService()->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(browser()->profile());
prefs->AddGrantedPermissions("kjmkgkdkpedkejedfhmfcenooemhbpbo",
granted_permissions.get());
@@ -126,8 +124,7 @@
PermissionsRequestFunction::SetAutoConfirmForTests(false);
PermissionsRequestFunction::SetIgnoreUserGestureForTests(true);
- ExtensionPrefs* prefs =
- browser()->profile()->GetExtensionService()->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(browser()->profile());
EXPECT_TRUE(
RunExtensionTestNoFileAccess("permissions/file_access_no")) << message_;
diff --git a/chrome/browser/extensions/browser_action_apitest.cc b/chrome/browser/extensions/browser_action_apitest.cc
index 930162d..2387b96f 100644
--- a/chrome/browser/extensions/browser_action_apitest.cc
+++ b/chrome/browser/extensions/browser_action_apitest.cc
@@ -4,20 +4,20 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "extensions/browser/extension_system.h"
+#include "extensions/browser/extension_registry.h"
// Tests that tooltips of a browser action icon can be specified using UTF8.
// See http://crbug.com/25349.
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, TitleLocalizationBrowserAction) {
- ExtensionService* service = extensions::ExtensionSystem::Get(
- browser()->profile())->extension_service();
- const size_t size_before = service->extensions()->size();
+ extension::ExtensionRegistry* registry =
+ extensions::ExtensionRegistry::Get(browser()->profile());
+ const size_t size_before = registry->enabled_extensions().size();
base::FilePath extension_path(test_data_dir_.AppendASCII("browsertest")
.AppendASCII("title_localized"));
const Extension* extension = LoadExtension(extension_path);
ASSERT_TRUE(extension);
- ASSERT_EQ(size_before + 1, service->extensions()->size());
+ ASSERT_EQ(size_before + 1, registry->enabled_extensions().size());
EXPECT_STREQ(base::WideToUTF8(
L"Hreggvi\u00F0ur: l10n browser action").c_str(),
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index dbaba4e..cdf1c950 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -595,8 +595,8 @@
return;
}
- current_version_ =
- service->extension_prefs()->GetVersionString(extension()->id());
+ current_version_ = ExtensionPrefs::Get(service->profile())
+ ->GetVersionString(extension()->id());
if (client_ &&
(!allow_silent_install_ || !approved_) &&
@@ -863,7 +863,7 @@
if (!update_from_settings_page_)
return;
- ExtensionPrefs* prefs = service->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(service->profile());
if (!prefs->DidExtensionEscalatePermissions(extension()->id()))
return;
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc
index acf5f14..84510d8 100644
--- a/chrome/browser/extensions/crx_installer_browsertest.cc
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc
@@ -197,9 +197,6 @@
CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kEnableExperimentalExtensionApis);
- ExtensionService* service = extensions::ExtensionSystem::Get(
- browser()->profile())->extension_service();
-
scoped_refptr<MockPromptProxy> mock_prompt =
CreateMockPromptProxyForBrowser(browser());
@@ -207,8 +204,8 @@
InstallWithPrompt("browsertest/scopes", std::string(), mock_prompt);
scoped_refptr<PermissionSet> permissions =
- service->extension_prefs()->GetGrantedPermissions(
- mock_prompt->extension_id());
+ ExtensionPrefs::Get(browser()->profile())
+ ->GetGrantedPermissions(mock_prompt->extension_id());
ASSERT_TRUE(permissions.get());
}
};
diff --git a/chrome/browser/extensions/data_deleter.cc b/chrome/browser/extensions/data_deleter.cc
index 983182e..77e7ec1 100644
--- a/chrome/browser/extensions/data_deleter.cc
+++ b/chrome/browser/extensions/data_deleter.cc
@@ -14,6 +14,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/storage_partition.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
#include "net/url_request/url_request_context_getter.h"
@@ -65,7 +66,8 @@
void OnNeedsToGarbageCollectIsolatedStorage(WeakPtr<ExtensionService> es) {
if (!es)
return;
- es->extension_prefs()->SetNeedsStorageGarbageCollection(true);
+ extensions::ExtensionPrefs::Get(es->profile())
+ ->SetNeedsStorageGarbageCollection(true);
}
} // namespace
diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
index ca731b3..4cfe0ed 100644
--- a/chrome/browser/extensions/extension_browsertest.cc
+++ b/chrome/browser/extensions/extension_browsertest.cc
@@ -41,6 +41,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_set.h"
@@ -170,11 +171,11 @@
// The call to OnExtensionInstalled ensures the other extension prefs
// are set up with the defaults.
- service->extension_prefs()->OnExtensionInstalled(
- extension,
- Extension::ENABLED,
- false,
- syncer::StringOrdinal::CreateInitialOrdinal());
+ extensions::ExtensionPrefs::Get(profile())
+ ->OnExtensionInstalled(extension,
+ Extension::ENABLED,
+ false,
+ syncer::StringOrdinal::CreateInitialOrdinal());
// Toggling incognito or file access will reload the extension, so wait for
// the reload and grab the new extension instance. The default state is
diff --git a/chrome/browser/extensions/extension_context_menu_model.cc b/chrome/browser/extensions/extension_context_menu_model.cc
index 0fde704e..b3df5fc 100644
--- a/chrome/browser/extensions/extension_context_menu_model.cc
+++ b/chrome/browser/extensions/extension_context_menu_model.cc
@@ -20,6 +20,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/management_policy.h"
#include "extensions/common/extension.h"
@@ -116,10 +117,7 @@
break;
case HIDE: {
extensions::ExtensionActionAPI::SetBrowserActionVisibility(
- extensions::ExtensionSystem::Get(profile_)->
- extension_service()->extension_prefs(),
- extension->id(),
- false);
+ extensions::ExtensionPrefs::Get(profile_), extension->id(), false);
break;
}
case UNINSTALL: {
diff --git a/chrome/browser/extensions/extension_disabled_ui_browsertest.cc b/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
index d273d3a..b6f58fd 100644
--- a/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
+++ b/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
@@ -27,6 +27,7 @@
using extensions::Extension;
using extensions::ExtensionRegistry;
+using extensions::ExtensionPrefs;
class ExtensionDisabledGlobalErrorTest : public ExtensionBrowserTest {
protected:
@@ -154,7 +155,8 @@
const Extension* extension = InstallIncreasingPermissionExtensionV1();
DisableExtension(extension->id());
// Clear disable reason to simulate legacy disables.
- service_->extension_prefs()->ClearDisableReasons(extension->id());
+ ExtensionPrefs::Get(browser()->profile())
+ ->ClearDisableReasons(extension->id());
// Upgrade to version 2. Infer from version 1 having the same permissions
// granted by the user that it was disabled by the user.
extension = UpdateIncreasingPermissionExtension(extension, path_v2_, 0);
@@ -168,7 +170,8 @@
UnknownReasonHigherPermissions) {
const Extension* extension = InstallAndUpdateIncreasingPermissionsExtension();
// Clear disable reason to simulate legacy disables.
- service_->extension_prefs()->ClearDisableReasons(extension->id());
+ ExtensionPrefs::Get(service_->profile())
+ ->ClearDisableReasons(extension->id());
// We now have version 2 but only accepted permissions for version 1.
GlobalError* error = GetExtensionDisabledGlobalError();
ASSERT_TRUE(error);
@@ -227,6 +230,7 @@
EXPECT_EQ("2", extension->VersionString());
EXPECT_EQ(1u, registry_->disabled_extensions().size());
EXPECT_EQ(Extension::DISABLE_PERMISSIONS_INCREASE,
- service_->extension_prefs()->GetDisableReasons(extension_id));
+ ExtensionPrefs::Get(service_->profile())
+ ->GetDisableReasons(extension_id));
EXPECT_TRUE(GetExtensionDisabledGlobalError());
}
diff --git a/chrome/browser/extensions/extension_install_ui_browsertest.cc b/chrome/browser/extensions/extension_install_ui_browsertest.cc
index d91cf30..f25e19a7 100644
--- a/chrome/browser/extensions/extension_install_ui_browsertest.cc
+++ b/chrome/browser/extensions/extension_install_ui_browsertest.cc
@@ -25,6 +25,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
#include "extensions/browser/app_sorting.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/common/id_util.h"
using content::WebContents;
@@ -227,7 +228,8 @@
const extensions::Extension* webstore_extension =
service->GetInstalledExtension(extension_misc::kWebStoreAppId);
EXPECT_TRUE(webstore_extension);
- AppSorting* sorting = service->extension_prefs()->app_sorting();
+ AppSorting* sorting =
+ extensions::ExtensionPrefs::Get(browser()->profile())->app_sorting();
// Register for notifications in the same way as AppLauncherHandler.
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
index cf7d4c8..656ae77 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
@@ -255,7 +255,7 @@
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_DISMISS_BUTTON);
// Validate that we don't have a suppress value for the extensions.
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile());
EXPECT_FALSE(prefs->HasWipeoutBeenAcknowledged(extension_id1_));
EXPECT_FALSE(prefs->HasWipeoutBeenAcknowledged(extension_id2_));
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 06ab993..56388a1 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -1262,20 +1262,12 @@
return profile_;
}
-extensions::ExtensionPrefs* ExtensionService::extension_prefs() {
- return extension_prefs_;
-}
-
-const extensions::ExtensionPrefs* ExtensionService::extension_prefs() const {
- return extension_prefs_;
-}
-
extensions::SettingsFrontend* ExtensionService::settings_frontend() {
return settings_frontend_.get();
}
extensions::ContentSettingsStore* ExtensionService::GetContentSettingsStore() {
- return extension_prefs()->content_settings_store();
+ return extension_prefs_->content_settings_store();
}
bool ExtensionService::is_ready() {
@@ -1882,7 +1874,7 @@
// custom set of active permissions defined in the extension prefs. Here,
// we update the extension's active permissions based on the prefs.
scoped_refptr<PermissionSet> active_permissions =
- extension_prefs()->GetActivePermissions(extension->id());
+ extension_prefs_->GetActivePermissions(extension->id());
if (active_permissions.get()) {
// We restrict the active permissions to be within the bounds defined in the
@@ -2182,7 +2174,7 @@
// load it (see AddExtension). Usually it should be the job of callers to
// incercept blacklisted extension earlier (e.g. CrxInstaller, before even
// showing the install dialogue).
- extension_prefs()->AcknowledgeBlacklistedExtension(id);
+ extension_prefs_->AcknowledgeBlacklistedExtension(id);
UMA_HISTOGRAM_ENUMERATION("ExtensionBlacklist.SilentInstall",
extension->location(),
Manifest::NUM_LOCATIONS);
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index e6c5215..ec8943a 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -418,11 +418,6 @@
// Returns profile_ as a BrowserContext.
content::BrowserContext* GetBrowserContext() const;
- // TODO(skerner): Change to const ExtensionPrefs& extension_prefs() const,
- // ExtensionPrefs* mutable_extension_prefs().
- extensions::ExtensionPrefs* extension_prefs();
- const extensions::ExtensionPrefs* extension_prefs() const;
-
extensions::SettingsFrontend* settings_frontend();
void set_extension_sync_service(
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index 3a6ba90..6d4ee8f 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -605,7 +605,7 @@
void ExtensionServiceTestBase::InitializeExtensionSyncService() {
extension_sync_service_.reset(new ExtensionSyncService(
- profile_.get(), service_->extension_prefs(), service_));
+ profile_.get(), ExtensionPrefs::Get(profile_.get()), service_));
}
// static
@@ -1566,7 +1566,7 @@
"hpiknbiabeeppbpihjehijgoemciehgk/3")));
// Make sure update information got deleted.
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
EXPECT_FALSE(
prefs->GetDelayedInstallInfo("bjafgdebaacbbbecmhlhpofkepfkgcpa"));
}
@@ -1599,7 +1599,7 @@
// Each of these extensions should have been rejected because of dependencies
// that cannot be satisfied.
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
EXPECT_FALSE(
prefs->GetDelayedInstallInfo("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"));
EXPECT_FALSE(
@@ -2017,7 +2017,7 @@
ASSERT_TRUE(base::PathExists(pem_path));
ASSERT_TRUE(base::PathExists(path));
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
APIPermissionSet expected_api_perms;
URLPatternSet expected_host_perms;
@@ -2065,7 +2065,7 @@
ASSERT_TRUE(base::PathExists(pem_path));
ASSERT_TRUE(base::PathExists(path));
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
APIPermissionSet expected_api_perms;
URLPatternSet expected_host_perms;
@@ -2107,7 +2107,7 @@
const Extension* extension = PackAndInstallCRX(good1_path(), INSTALL_NEW);
EXPECT_EQ(0u, GetErrors().size());
EXPECT_EQ(1u, registry_->enabled_extensions().size());
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
scoped_refptr<PermissionSet> permissions(
prefs->GetGrantedPermissions(extension->id()));
@@ -2139,7 +2139,7 @@
EXPECT_EQ(1u, registry_->enabled_extensions().size());
std::string extension_id = extension->id();
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
APIPermissionSet expected_api_permissions;
URLPatternSet expected_host_permissions;
@@ -2635,7 +2635,8 @@
INSTALL_NEW);
EXPECT_EQ(0u, GetErrors().size());
EXPECT_EQ(1u, registry_->enabled_extensions().size());
- EXPECT_FALSE(service_->extension_prefs()->AllowFileAccess(extension->id()));
+ EXPECT_FALSE(
+ ExtensionPrefs::Get(profile_.get())->AllowFileAccess(extension->id()));
}
TEST_F(ExtensionServiceTest, UpdateApps) {
@@ -2660,7 +2661,7 @@
// Verifies that the NTP page and launch ordinals are kept when updating apps.
TEST_F(ExtensionServiceTest, UpdateAppsRetainOrdinals) {
InitializeEmptyExtensionService();
- AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ AppSorting* sorting = ExtensionPrefs::Get(profile_.get())->app_sorting();
base::FilePath extensions_path = data_dir_.AppendASCII("app_update");
// First install v1 of a hosted app.
@@ -2696,7 +2697,7 @@
IDR_WEBSTORE_MANIFEST, base::FilePath(FILE_PATH_LITERAL("web_store")));
service_->Init();
- AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ AppSorting* sorting = ExtensionPrefs::Get(profile_.get())->app_sorting();
EXPECT_TRUE(
sorting->GetPageOrdinal(extension_misc::kWebStoreAppId).IsValid());
EXPECT_TRUE(
@@ -2976,7 +2977,8 @@
// over to the updated version.
service_->DisableExtension(good->id(), Extension::DISABLE_USER_ACTION);
extensions::util::SetIsIncognitoEnabled(good->id(), profile_.get(), true);
- service_->extension_prefs()->SetDidExtensionEscalatePermissions(good, true);
+ ExtensionPrefs::Get(profile_.get())
+ ->SetDidExtensionEscalatePermissions(good, true);
path = data_dir_.AppendASCII("good2.crx");
UpdateExtension(good_crx, path, INSTALLED);
@@ -2985,8 +2987,8 @@
ASSERT_EQ("1.0.0.1", good2->version()->GetString());
EXPECT_TRUE(extensions::util::IsIncognitoEnabled(
good2->id(), profile_.get()));
- EXPECT_TRUE(service_->extension_prefs()->DidExtensionEscalatePermissions(
- good2->id()));
+ EXPECT_TRUE(ExtensionPrefs::Get(profile_.get())
+ ->DidExtensionEscalatePermissions(good2->id()));
}
// Tests that updating preserves extension location.
@@ -3109,7 +3111,7 @@
// Make sure the granted permissions have been setup.
scoped_refptr<PermissionSet> permissions(
- service_->extension_prefs()->GetGrantedPermissions(good1));
+ ExtensionPrefs::Get(profile_.get())->GetGrantedPermissions(good1));
EXPECT_FALSE(permissions->IsEmpty());
EXPECT_TRUE(permissions->HasEffectiveFullAccess());
EXPECT_FALSE(permissions->apis().empty());
@@ -3205,8 +3207,8 @@
const Extension* extension = service_->GetExtensionById(theme_crx, true);
ASSERT_TRUE(extension);
- EXPECT_FALSE(
- service_->extension_prefs()->IsExtensionDisabled(extension->id()));
+ EXPECT_FALSE(ExtensionPrefs::Get(profile_.get())
+ ->IsExtensionDisabled(extension->id()));
EXPECT_TRUE(service_->IsExtensionEnabled(theme_crx));
}
@@ -3235,8 +3237,8 @@
const Extension* extension = service_->GetExtensionById(theme_crx, true);
ASSERT_TRUE(extension);
- EXPECT_FALSE(
- service_->extension_prefs()->IsExtensionDisabled(extension->id()));
+ EXPECT_FALSE(ExtensionPrefs::Get(profile_.get())
+ ->IsExtensionDisabled(extension->id()));
EXPECT_TRUE(service_->IsExtensionEnabled(extension->id()));
EXPECT_FALSE(extensions::util::IsIncognitoEnabled(extension->id(),
profile_.get()));
@@ -3470,7 +3472,7 @@
EXPECT_EQ(1u, registry_->enabled_extensions().size());
base::ListValue whitelist;
- PrefService* prefs = service_->extension_prefs()->pref_service();
+ PrefService* prefs = ExtensionPrefs::Get(profile_.get())->pref_service();
whitelist.Append(new base::StringValue(good_crx));
prefs->Set(extensions::pref_names::kInstallAllowList, whitelist);
@@ -3521,8 +3523,8 @@
InitializeGoodInstalledExtensionService();
test_blacklist.Attach(service_->blacklist_);
- service_->extension_prefs()->SetExtensionBlacklisted(good0, true);
- service_->extension_prefs()->SetExtensionBlacklisted(good1, true);
+ ExtensionPrefs::Get(profile_.get())->SetExtensionBlacklisted(good0, true);
+ ExtensionPrefs::Get(profile_.get())->SetExtensionBlacklisted(good1, true);
test_blacklist.SetBlacklistState(
good1, extensions::BLACKLISTED_MALWARE, false);
@@ -4047,7 +4049,7 @@
ASSERT_EQ(2u, registry_->enabled_extensions().size());
EXPECT_TRUE(service_->GetExtensionById(good_crx, false));
EXPECT_TRUE(service_->GetExtensionById(page_action, false));
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
ASSERT_TRUE(!prefs->IsExternalExtensionAcknowledged(good_crx));
ASSERT_TRUE(prefs->IsExternalExtensionAcknowledged(page_action));
}
@@ -4253,8 +4255,9 @@
// Extension should be disabled now, waiting to be reloaded.
EXPECT_EQ(0u, registry_->enabled_extensions().size());
EXPECT_EQ(1u, registry_->disabled_extensions().size());
- EXPECT_EQ(Extension::DISABLE_RELOAD,
- service_->extension_prefs()->GetDisableReasons(extension_id));
+ EXPECT_EQ(
+ Extension::DISABLE_RELOAD,
+ ExtensionPrefs::Get(profile_.get())->GetDisableReasons(extension_id));
// Reloading again should not crash.
service_->ReloadExtension(extension_id);
@@ -5808,7 +5811,7 @@
EXPECT_TRUE(initial_ordinal.Equals(app_sync_data.page_ordinal()));
}
- AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ AppSorting* sorting = ExtensionPrefs::Get(profile_.get())->app_sorting();
sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter());
{
syncer::SyncDataList list = extension_sync_service_->GetAllSyncData(
@@ -6912,9 +6915,9 @@
EXPECT_FALSE(registry_->enabled_extensions().Contains(id));
EXPECT_TRUE(registry_->blacklisted_extensions().Contains(id));
- EXPECT_TRUE(service_->extension_prefs()->IsExtensionBlacklisted(id));
- EXPECT_TRUE(
- service_->extension_prefs()->IsBlacklistedExtensionAcknowledged(id));
+ EXPECT_TRUE(ExtensionPrefs::Get(profile_.get())->IsExtensionBlacklisted(id));
+ EXPECT_TRUE(ExtensionPrefs::Get(profile_.get())
+ ->IsBlacklistedExtensionAcknowledged(id));
}
TEST_F(ExtensionServiceTest, ReconcileKnownDisabledNoneDisabled) {
@@ -6941,7 +6944,7 @@
// A profile with 3 extensions installed: good0, good1, and good2.
InitializeGoodInstalledExtensionService();
- ExtensionPrefs* extension_prefs = service_->extension_prefs();
+ ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(profile_.get());
// Disable good1.
extension_prefs->SetExtensionState(good1, Extension::DISABLED);
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
index 5d5933f..31045757 100644
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
@@ -63,7 +63,7 @@
}
}
- ExtensionPrefs* extension_prefs = service->extension_prefs();
+ ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(service->profile());
// Broadcast unloaded and loaded events to update browser state. Only bother
// if the value changed and the extension is actually enabled, since there is
// no UI otherwise.
@@ -129,7 +129,7 @@
if (allow == AllowFileAccess(extension_id, context))
return;
- service->extension_prefs()->SetAllowFileAccess(extension_id, allow);
+ ExtensionPrefs::Get(context)->SetAllowFileAccess(extension_id, allow);
bool extension_is_enabled = service->extensions()->Contains(extension_id);
if (extension_is_enabled)
diff --git a/chrome/browser/extensions/install_tracker_factory.cc b/chrome/browser/extensions/install_tracker_factory.cc
index 593cf44..f0bd4a7c 100644
--- a/chrome/browser/extensions/install_tracker_factory.cc
+++ b/chrome/browser/extensions/install_tracker_factory.cc
@@ -5,12 +5,12 @@
#include "chrome/browser/extensions/install_tracker_factory.h"
#include "base/memory/singleton.h"
-#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/extensions/install_tracker.h"
#include "chrome/browser/profiles/profile.h"
#include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
-#include "extensions/browser/extension_system.h"
-#include "extensions/browser/extension_system_provider.h"
+#include "extensions/browser/extension_prefs.h"
+#include "extensions/browser/extension_prefs_factory.h"
#include "extensions/browser/extensions_browser_client.h"
namespace extensions {
@@ -30,6 +30,7 @@
"InstallTracker",
BrowserContextDependencyManager::GetInstance()) {
DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
+ DependsOn(ExtensionPrefsFactory::GetInstance());
}
InstallTrackerFactory::~InstallTrackerFactory() {
@@ -37,10 +38,8 @@
BrowserContextKeyedService* InstallTrackerFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
- Profile* profile = static_cast<Profile*>(context);
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- return new InstallTracker(profile, service->extension_prefs());
+ Profile* profile = Profile::FromBrowserContext(context);
+ return new InstallTracker(profile, ExtensionPrefs::Get(context));
}
content::BrowserContext* InstallTrackerFactory::GetBrowserContextToUse(
diff --git a/chrome/browser/extensions/installed_loader.cc b/chrome/browser/extensions/installed_loader.cc
index 141586cc..36d8ada 100644
--- a/chrome/browser/extensions/installed_loader.cc
+++ b/chrome/browser/extensions/installed_loader.cc
@@ -119,7 +119,7 @@
InstalledLoader::InstalledLoader(ExtensionService* extension_service)
: extension_service_(extension_service),
extension_registry_(ExtensionRegistry::Get(extension_service->profile())),
- extension_prefs_(extension_service->extension_prefs()) {}
+ extension_prefs_(ExtensionPrefs::Get(extension_service->profile())) {}
InstalledLoader::~InstalledLoader() {
}
@@ -412,8 +412,7 @@
extension_registry_->disabled_extensions();
for (ex = disabled_extensions.begin(); ex != disabled_extensions.end();
++ex) {
- if (extension_service_->extension_prefs()->
- DidExtensionEscalatePermissions((*ex)->id())) {
+ if (extension_prefs_->DidExtensionEscalatePermissions((*ex)->id())) {
++disabled_for_permissions_count;
}
if (Manifest::IsExternalLocation((*ex)->location())) {
diff --git a/chrome/browser/extensions/launch_util.cc b/chrome/browser/extensions/launch_util.cc
index ac94c612..d24f40e 100644
--- a/chrome/browser/extensions/launch_util.cc
+++ b/chrome/browser/extensions/launch_util.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/values.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/host_desktop.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension_constants.h"
@@ -89,7 +90,9 @@
LaunchType launch_type) {
DCHECK(launch_type >= LAUNCH_TYPE_FIRST && launch_type < NUM_LAUNCH_TYPES);
- service->extension_prefs()->UpdateExtensionPref(extension_id, kPrefLaunchType,
+ ExtensionPrefs::Get(service->profile())->UpdateExtensionPref(
+ extension_id,
+ kPrefLaunchType,
new base::FundamentalValue(static_cast<int>(launch_type)));
// Sync the launch type.
diff --git a/chrome/browser/extensions/navigation_observer.cc b/chrome/browser/extensions/navigation_observer.cc
index 252d0bcfa..4d79c6c6 100644
--- a/chrome/browser/extensions/navigation_observer.cc
+++ b/chrome/browser/extensions/navigation_observer.cc
@@ -69,9 +69,7 @@
return;
prompted_extensions_.insert(extension->id());
- ExtensionService* extension_service =
- extensions::ExtensionSystem::Get(profile_)->extension_service();
- ExtensionPrefs* extension_prefs = extension_service->extension_prefs();
+ ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(profile_);
if (extension_prefs->DidExtensionEscalatePermissions(extension->id())) {
// Keep track of the extension id and nav controller we're prompting for.
// These must be reset in InstallUIProceed and InstallUIAbort.
diff --git a/chrome/browser/extensions/permissions_updater_unittest.cc b/chrome/browser/extensions/permissions_updater_unittest.cc
index 78b9a89d..1fcb9b5 100644
--- a/chrome/browser/extensions/permissions_updater_unittest.cc
+++ b/chrome/browser/extensions/permissions_updater_unittest.cc
@@ -165,7 +165,7 @@
// Verify that the new granted and active permissions were also stored
// in the extension preferences. In this case, the granted permissions should
// be equal to the active permissions.
- ExtensionPrefs* prefs = service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_.get());
scoped_refptr<PermissionSet> granted_permissions =
active_permissions;
diff --git a/chrome/browser/extensions/suspicious_extension_bubble_controller.cc b/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
index c0906f9..6f40d0f 100644
--- a/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
+++ b/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
@@ -10,6 +10,7 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_message_bubble.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/common/url_constants.h"
@@ -29,16 +30,15 @@
// SuspiciousExtensionBubbleDelegate
SuspiciousExtensionBubbleDelegate::SuspiciousExtensionBubbleDelegate(
- ExtensionService* service)
- : service_(service) {
-}
+ Profile* profile)
+ : profile_(profile) {}
SuspiciousExtensionBubbleDelegate::~SuspiciousExtensionBubbleDelegate() {
}
bool SuspiciousExtensionBubbleDelegate::ShouldIncludeExtension(
const std::string& extension_id) {
- extensions::ExtensionPrefs* prefs = service_->extension_prefs();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
if (!prefs->IsExtensionDisabled(extension_id))
return false;
@@ -52,7 +52,7 @@
void SuspiciousExtensionBubbleDelegate::AcknowledgeExtension(
const std::string& extension_id,
ExtensionMessageBubbleController::BubbleAction user_action) {
- extensions::ExtensionPrefs* prefs = service_->extension_prefs();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
prefs->SetWipeoutAcknowledged(extension_id, true);
}
@@ -144,11 +144,9 @@
SuspiciousExtensionBubbleController::SuspiciousExtensionBubbleController(
Profile* profile)
: ExtensionMessageBubbleController(
- new SuspiciousExtensionBubbleDelegate(
- extensions::ExtensionSystem::Get(profile)->extension_service()),
+ new SuspiciousExtensionBubbleDelegate(profile),
profile),
- profile_(profile) {
-}
+ profile_(profile) {}
SuspiciousExtensionBubbleController::~SuspiciousExtensionBubbleController() {
}
diff --git a/chrome/browser/extensions/suspicious_extension_bubble_controller.h b/chrome/browser/extensions/suspicious_extension_bubble_controller.h
index 4e88667..9ed5c90c 100644
--- a/chrome/browser/extensions/suspicious_extension_bubble_controller.h
+++ b/chrome/browser/extensions/suspicious_extension_bubble_controller.h
@@ -6,12 +6,13 @@
#define CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
#include <string>
-#include "chrome/browser/extensions/api/profile_keyed_api_factory.h"
+
#include "chrome/browser/extensions/extension_message_bubble_controller.h"
#include "extensions/common/extension.h"
class Browser;
class ExtensionService;
+class Profile;
using extensions::ExtensionMessageBubbleController;
@@ -20,7 +21,7 @@
class SuspiciousExtensionBubbleDelegate
: public ExtensionMessageBubbleController::Delegate {
public:
- explicit SuspiciousExtensionBubbleDelegate(ExtensionService* service);
+ explicit SuspiciousExtensionBubbleDelegate(Profile* profile);
virtual ~SuspiciousExtensionBubbleDelegate();
// ExtensionMessageBubbleController::Delegate methods.
@@ -43,8 +44,8 @@
ExtensionMessageBubbleController::BubbleAction action) OVERRIDE;
private:
- // Our extension service. Weak, not owned by us.
- ExtensionService* service_;
+ // Our profile. Weak, not owned by us.
+ Profile* profile_;
DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleDelegate);
};
diff --git a/chrome/browser/extensions/unpacked_installer.cc b/chrome/browser/extensions/unpacked_installer.cc
index ec4b96b6..5dd3614 100644
--- a/chrome/browser/extensions/unpacked_installer.cc
+++ b/chrome/browser/extensions/unpacked_installer.cc
@@ -195,7 +195,7 @@
std::string id = id_util::GenerateIdForPath(extension_path_);
bool allow_file_access =
Manifest::ShouldAlwaysAllowFileAccess(Manifest::UNPACKED);
- ExtensionPrefs* prefs = service_weak_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(service_weak_->profile());
if (prefs->HasAllowFileAccessSetting(id))
allow_file_access = prefs->AllowFileAccess(id);
@@ -213,7 +213,7 @@
return true;
// If there is a "*" in the extension blacklist, then no extensions should be
// allowed at all (except explicitly whitelisted extensions).
- ExtensionPrefs* prefs = service_weak_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(service_weak_->profile());
return !prefs->ExtensionsBlacklistedByDefault();
}
diff --git a/chrome/browser/extensions/user_script_listener_unittest.cc b/chrome/browser/extensions/user_script_listener_unittest.cc
index 34c31f4f..ab089af 100644
--- a/chrome/browser/extensions/user_script_listener_unittest.cc
+++ b/chrome/browser/extensions/user_script_listener_unittest.cc
@@ -16,6 +16,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/resource_controller.h"
#include "content/public/browser/resource_throttle.h"
+#include "extensions/browser/extension_registry.h"
#include "net/base/request_priority.h"
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_filter.h"
@@ -280,7 +281,7 @@
LoadTestExtension();
base::MessageLoop::current()->RunUntilIdle();
- // Fire up a second profile and have it load and extension with a content
+ // Fire up a second profile and have it load an extension with a content
// script.
TestingProfile profile2;
std::string error;
@@ -288,6 +289,8 @@
"content_script_yahoo.json", &error);
ASSERT_TRUE(extension.get());
+ extensions::ExtensionRegistry::Get(&profile2)->AddEnabled(extension);
+
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_EXTENSION_LOADED,
content::Source<Profile>(&profile2),
diff --git a/chrome/browser/sync/test/integration/sync_app_helper.cc b/chrome/browser/sync/test/integration/sync_app_helper.cc
index e6e9e3f5..6c3a48e 100644
--- a/chrome/browser/sync/test/integration/sync_app_helper.cc
+++ b/chrome/browser/sync/test/integration/sync_app_helper.cc
@@ -13,11 +13,14 @@
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/sync_helper.h"
#include "extensions/browser/app_sorting.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
#include "extensions/common/id_util.h"
+using extensions::ExtensionPrefs;
+
namespace {
struct AppState {
@@ -48,16 +51,13 @@
}
// Load all the app specific values for |id| into |app_state|.
-void LoadApp(ExtensionService* extension_service,
+void LoadApp(content::BrowserContext* context,
const std::string& id,
AppState* app_state) {
- app_state->app_launch_ordinal = extension_service->extension_prefs()->
- app_sorting()->GetAppLaunchOrdinal(id);
- app_state->page_ordinal = extension_service->extension_prefs()->
- app_sorting()->GetPageOrdinal(id);
- app_state->launch_type =
- extensions::GetLaunchTypePrefValue(extension_service->extension_prefs(),
- id);
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(context);
+ app_state->app_launch_ordinal = prefs->app_sorting()->GetAppLaunchOrdinal(id);
+ app_state->page_ordinal = prefs->app_sorting()->GetPageOrdinal(id);
+ app_state->launch_type = extensions::GetLaunchTypePrefValue(prefs, id);
}
// Returns a map from |profile|'s installed extensions to their state.
@@ -72,7 +72,7 @@
it != extensions->end(); ++it) {
if (extensions::sync_helper::IsSyncableApp(it->get())) {
const std::string& id = (*it)->id();
- LoadApp(extension_service, id, &(app_state_map[id]));
+ LoadApp(profile, id, &(app_state_map[id]));
}
}
@@ -84,7 +84,7 @@
for (std::list<std::string>::const_iterator id = pending_crx_ids.begin();
id != pending_crx_ids.end(); ++id) {
- LoadApp(extension_service, *id, &(app_state_map[*id]));
+ LoadApp(profile, *id, &(app_state_map[*id]));
}
return app_state_map;
@@ -155,37 +155,35 @@
syncer::StringOrdinal SyncAppHelper::GetPageOrdinalForApp(
Profile* profile,
const std::string& name) {
- return profile->GetExtensionService()->extension_prefs()->
- app_sorting()->GetPageOrdinal(extensions::id_util::GenerateId(name));
+ return ExtensionPrefs::Get(profile)->app_sorting()->GetPageOrdinal(
+ extensions::id_util::GenerateId(name));
}
void SyncAppHelper::SetPageOrdinalForApp(
Profile* profile,
const std::string& name,
const syncer::StringOrdinal& page_ordinal) {
- profile->GetExtensionService()->extension_prefs()->app_sorting()->
- SetPageOrdinal(extensions::id_util::GenerateId(name), page_ordinal);
+ ExtensionPrefs::Get(profile)->app_sorting()->SetPageOrdinal(
+ extensions::id_util::GenerateId(name), page_ordinal);
}
syncer::StringOrdinal SyncAppHelper::GetAppLaunchOrdinalForApp(
Profile* profile,
const std::string& name) {
- return profile->GetExtensionService()->extension_prefs()->
- app_sorting()->GetAppLaunchOrdinal(extensions::id_util::GenerateId(name));
+ return ExtensionPrefs::Get(profile)->app_sorting()->GetAppLaunchOrdinal(
+ extensions::id_util::GenerateId(name));
}
void SyncAppHelper::SetAppLaunchOrdinalForApp(
Profile* profile,
const std::string& name,
const syncer::StringOrdinal& app_launch_ordinal) {
- profile->GetExtensionService()->extension_prefs()->app_sorting()->
- SetAppLaunchOrdinal(extensions::id_util::GenerateId(name),
- app_launch_ordinal);
+ ExtensionPrefs::Get(profile)->app_sorting()->SetAppLaunchOrdinal(
+ extensions::id_util::GenerateId(name), app_launch_ordinal);
}
void SyncAppHelper::FixNTPOrdinalCollisions(Profile* profile) {
- profile->GetExtensionService()->extension_prefs()->app_sorting()->
- FixNTPOrdinalCollisions();
+ ExtensionPrefs::Get(profile)->app_sorting()->FixNTPOrdinalCollisions();
}
SyncAppHelper::SyncAppHelper() : setup_completed_(false) {}
diff --git a/chrome/browser/sync/test/integration/sync_app_list_helper.cc b/chrome/browser/sync/test/integration/sync_app_list_helper.cc
index 17751baa..79dc84e 100644
--- a/chrome/browser/sync/test/integration/sync_app_list_helper.cc
+++ b/chrome/browser/sync/test/integration/sync_app_list_helper.cc
@@ -5,13 +5,13 @@
#include "chrome/browser/sync/test/integration/sync_app_list_helper.h"
#include "base/strings/stringprintf.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/test/integration/sync_datatype_helper.h"
#include "chrome/browser/sync/test/integration/sync_test.h"
#include "chrome/browser/ui/app_list/app_list_syncable_service.h"
#include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h"
#include "chrome/common/extensions/sync_helper.h"
+#include "extensions/browser/app_sorting.h"
#include "extensions/browser/extension_system.h"
#include "ui/app_list/app_list_folder_item.h"
#include "ui/app_list/app_list_item.h"
@@ -170,8 +170,7 @@
AppListItem* item,
const std::string& label) {
extensions::AppSorting* s =
- extensions::ExtensionSystem::Get(profile)->extension_service()->
- extension_prefs()->app_sorting();
+ extensions::ExtensionPrefs::Get(profile)->app_sorting();
std::string id = item->id();
if (item->GetItemType() == AppListFolderItem::kItemType) {
VLOG(1) << label << item->ToDebugString();
diff --git a/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc b/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
index d16e88c..3fce430 100644
--- a/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
@@ -16,6 +16,7 @@
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/notification_service.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "ui/app_list/app_list_switches.h"
@@ -434,10 +435,10 @@
ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
// Flag Default app in Profile 1.
- extensions::ExtensionSystem::Get(GetProfile(1))->
- extension_service()->extension_prefs()->
- UpdateExtensionPref(default_app_id, "was_installed_by_default",
- new base::FundamentalValue(true));
+ extensions::ExtensionPrefs::Get(GetProfile(1))
+ ->UpdateExtensionPref(default_app_id,
+ "was_installed_by_default",
+ new base::FundamentalValue(true));
// Remove the default app in Profile 0 and verifier, ensure it was removed
// in Profile 1.
diff --git a/chrome/browser/sync/test/integration/two_client_apps_sync_test.cc b/chrome/browser/sync/test/integration/two_client_apps_sync_test.cc
index 8ae32723..b99a9a9 100644
--- a/chrome/browser/sync/test/integration/two_client_apps_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_apps_sync_test.cc
@@ -12,6 +12,7 @@
#include "chrome/browser/sync/test/integration/sync_test.h"
#include "chrome/common/extensions/extension_constants.h"
#include "extensions/browser/app_sorting.h"
+#include "extensions/browser/extension_prefs.h"
#include "sync/api/string_ordinal.h"
using apps_helper::AllProfilesHaveSameAppsAsVerifier;
@@ -396,29 +397,29 @@
// Change the app launch ordinal.
syncer::StringOrdinal cws_app_launch_ordinal =
- GetProfile(0)->GetExtensionService()->
- extension_prefs()->app_sorting()->GetAppLaunchOrdinal(
- extension_misc::kWebStoreAppId);
- GetProfile(0)->GetExtensionService()->extension_prefs()->app_sorting()->
- SetAppLaunchOrdinal(
- extension_misc::kWebStoreAppId, cws_app_launch_ordinal.CreateAfter());
- verifier()->GetExtensionService()->extension_prefs()->app_sorting()->
- SetAppLaunchOrdinal(
- extension_misc::kWebStoreAppId, cws_app_launch_ordinal.CreateAfter());
+ extensions::ExtensionPrefs::Get(GetProfile(0))
+ ->app_sorting()
+ ->GetAppLaunchOrdinal(extension_misc::kWebStoreAppId);
+ extensions::ExtensionPrefs::Get(GetProfile(0))
+ ->app_sorting()
+ ->SetAppLaunchOrdinal(extension_misc::kWebStoreAppId,
+ cws_app_launch_ordinal.CreateAfter());
+ extensions::ExtensionPrefs::Get(verifier())
+ ->app_sorting()
+ ->SetAppLaunchOrdinal(extension_misc::kWebStoreAppId,
+ cws_app_launch_ordinal.CreateAfter());
ASSERT_TRUE(AwaitQuiescence());
ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier());
// Change the page ordinal.
syncer::StringOrdinal cws_page_ordinal =
- GetProfile(1)->GetExtensionService()->
- extension_prefs()->app_sorting()->GetPageOrdinal(
- extension_misc::kWebStoreAppId);
- GetProfile(1)->GetExtensionService()->extension_prefs()->
- app_sorting()->SetPageOrdinal(extension_misc::kWebStoreAppId,
- cws_page_ordinal.CreateAfter());
- verifier()->GetExtensionService()->extension_prefs()->
- app_sorting()->SetPageOrdinal(extension_misc::kWebStoreAppId,
- cws_page_ordinal.CreateAfter());
+ extensions::ExtensionPrefs::Get(GetProfile(1))
+ ->app_sorting()
+ ->GetPageOrdinal(extension_misc::kWebStoreAppId);
+ extensions::ExtensionPrefs::Get(GetProfile(1))->app_sorting()->SetPageOrdinal(
+ extension_misc::kWebStoreAppId, cws_page_ordinal.CreateAfter());
+ extensions::ExtensionPrefs::Get(verifier())->app_sorting()->SetPageOrdinal(
+ extension_misc::kWebStoreAppId, cws_page_ordinal.CreateAfter());
ASSERT_TRUE(AwaitQuiescence());
ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier());
}
diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc
index 20fa50e..45173ae 100644
--- a/chrome/browser/themes/theme_service.cc
+++ b/chrome/browser/themes/theme_service.cc
@@ -23,6 +23,7 @@
#include "chrome/common/pref_names.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/user_metrics.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
@@ -338,7 +339,7 @@
std::vector<std::string> remove_list;
scoped_ptr<const extensions::ExtensionSet> extensions(
service->GenerateInstalledExtensionsSet());
- extensions::ExtensionPrefs* prefs = service->extension_prefs();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
for (extensions::ExtensionSet::const_iterator it = extensions->begin();
it != extensions->end(); ++it) {
const extensions::Extension* extension = *it;
diff --git a/chrome/browser/themes/theme_syncable_service.cc b/chrome/browser/themes/theme_syncable_service.cc
index 78065b3..671a01f 100644
--- a/chrome/browser/themes/theme_syncable_service.cc
+++ b/chrome/browser/themes/theme_syncable_service.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/themes/theme_service.h"
#include "chrome/common/extensions/manifest_url_handler.h"
#include "chrome/common/extensions/sync_helper.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "sync/protocol/sync.pb.h"
@@ -219,7 +220,7 @@
return;
}
int disabled_reasons =
- extensions_service->extension_prefs()->GetDisableReasons(id);
+ extensions::ExtensionPrefs::Get(profile_)->GetDisableReasons(id);
if (!extensions_service->IsExtensionEnabled(id) &&
disabled_reasons != extensions::Extension::DISABLE_USER_ACTION) {
DVLOG(1) << "Theme " << id << " is disabled with reason "
diff --git a/chrome/browser/themes/theme_syncable_service_unittest.cc b/chrome/browser/themes/theme_syncable_service_unittest.cc
index d1b6ce9..d75d60e 100644
--- a/chrome/browser/themes/theme_syncable_service_unittest.cc
+++ b/chrome/browser/themes/theme_syncable_service_unittest.cc
@@ -187,8 +187,8 @@
scoped_refptr<extensions::PermissionSet> permissions =
new extensions::PermissionSet(empty_set, empty_manifest_permissions,
empty_extent, empty_extent);
- service->extension_prefs()->AddGrantedPermissions(
- theme_extension_->id(), permissions.get());
+ extensions::ExtensionPrefs::Get(profile_.get())
+ ->AddGrantedPermissions(theme_extension_->id(), permissions.get());
service->AddExtension(theme_extension_.get());
ASSERT_EQ(1u, service->extensions()->size());
}
diff --git a/chrome/browser/ui/app_list/app_list_controller_delegate.cc b/chrome/browser/ui/app_list/app_list_controller_delegate.cc
index d45be3b..807a0d6c 100644
--- a/chrome/browser/ui/app_list/app_list_controller_delegate.cc
+++ b/chrome/browser/ui/app_list/app_list_controller_delegate.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/manifest_url_handler.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/management_policy.h"
@@ -182,9 +183,7 @@
extensions::LaunchType AppListControllerDelegate::GetExtensionLaunchType(
Profile* profile,
const std::string& app_id) {
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- return extensions::GetLaunchType(service->extension_prefs(),
+ return extensions::GetLaunchType(extensions::ExtensionPrefs::Get(profile),
GetExtension(profile, app_id));
}
diff --git a/chrome/browser/ui/app_list/app_list_syncable_service.cc b/chrome/browser/ui/app_list/app_list_syncable_service.cc
index f97c94f..1b41936 100644
--- a/chrome/browser/ui/app_list/app_list_syncable_service.cc
+++ b/chrome/browser/ui/app_list/app_list_syncable_service.cc
@@ -94,7 +94,8 @@
}
bool AppIsDefault(ExtensionService* service, const std::string& id) {
- return service && service->extension_prefs()->WasInstalledByDefault(id);
+ return service && extensions::ExtensionPrefs::Get(service->profile())
+ ->WasInstalledByDefault(id);
}
void UninstallExtension(ExtensionService* service, const std::string& id) {
diff --git a/chrome/browser/ui/app_list/extension_app_item.cc b/chrome/browser/ui/app_list/extension_app_item.cc
index 690a3e8..791a72a 100644
--- a/chrome/browser/ui/app_list/extension_app_item.cc
+++ b/chrome/browser/ui/app_list/extension_app_item.cc
@@ -104,9 +104,7 @@
};
extensions::AppSorting* GetAppSorting(Profile* profile) {
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- return service->extension_prefs()->app_sorting();
+ return extensions::ExtensionPrefs::Get(profile)->app_sorting();
}
const color_utils::HSL shift = {-1, 0, 0.6};
@@ -155,12 +153,11 @@
if (!streamlined_hosted_apps)
return false;
#endif
- const ExtensionService* service =
- extensions::ExtensionSystem::Get(profile_)->extension_service();
-
- extensions::LaunchType launch_type = GetExtension()
- ? extensions::GetLaunchType(service->extension_prefs(), GetExtension())
- : extensions::LAUNCH_TYPE_WINDOW;
+ extensions::LaunchType launch_type =
+ GetExtension()
+ ? extensions::GetLaunchType(extensions::ExtensionPrefs::Get(profile_),
+ GetExtension())
+ : extensions::LAUNCH_TYPE_WINDOW;
return !is_platform_app_ && extension_id_ != extension_misc::kChromeAppId &&
(!streamlined_hosted_apps ||
@@ -217,7 +214,8 @@
ExtensionService* service =
extensions::ExtensionSystem::Get(profile_)->extension_service();
- extensions::AppSorting* sorting = service->extension_prefs()->app_sorting();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
+ extensions::AppSorting* sorting = GetAppSorting(profile_);
syncer::StringOrdinal page;
std::string prev_id, next_id;
@@ -234,7 +232,7 @@
if (page.Equals(sorting->GetPageOrdinal(next->extension_id())))
next_id = next->extension_id();
}
- service->extension_prefs()->SetAppDraggedByUser(extension_id_);
+ prefs->SetAppDraggedByUser(extension_id_);
sorting->SetPageOrdinal(extension_id_, page);
service->OnExtensionMoved(extension_id_, prev_id, next_id);
UpdatePositionFromExtensionOrdering();
diff --git a/chrome/browser/ui/app_list/extension_app_model_builder.cc b/chrome/browser/ui/app_list/extension_app_model_builder.cc
index 56de1b9..e05b788 100644
--- a/chrome/browser/ui/app_list/extension_app_model_builder.cc
+++ b/chrome/browser/ui/app_list/extension_app_model_builder.cc
@@ -7,11 +7,11 @@
#include <algorithm>
#include "base/auto_reset.h"
+#include "base/bind.h"
#include "base/callback.h"
#include "base/command_line.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/install_tracker.h"
#include "chrome/browser/extensions/install_tracker_factory.h"
#include "chrome/browser/profiles/profile.h"
@@ -25,6 +25,7 @@
#include "content/public/browser/notification_service.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/pref_names.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
@@ -90,13 +91,10 @@
switches::kEnableStreamlinedHostedApps))
return;
- const ExtensionService* extension_service =
- extensions::ExtensionSystem::Get(profile_)->extension_service();
- if (!extension_service)
- return;
-
+ extensions::ExtensionsBrowserClient* client =
+ extensions::ExtensionsBrowserClient::Get();
extension_pref_change_registrar_.Init(
- extension_service->extension_prefs()->pref_service());
+ client->GetPrefServiceForContext(profile_));
extension_pref_change_registrar_.Add(
extensions::pref_names::kExtensions,
base::Bind(&ExtensionAppModelBuilder::OnExtensionPreferenceChanged,
diff --git a/chrome/browser/ui/app_list/extension_app_model_builder_unittest.cc b/chrome/browser/ui/app_list/extension_app_model_builder_unittest.cc
index b07eb0f..c4088087 100644
--- a/chrome/browser/ui/app_list/extension_app_model_builder_unittest.cc
+++ b/chrome/browser/ui/app_list/extension_app_model_builder_unittest.cc
@@ -250,7 +250,8 @@
}
TEST_F(ExtensionAppModelBuilderTest, OrdinalPrefsChange) {
- extensions::AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ extensions::AppSorting* sorting =
+ extensions::ExtensionPrefs::Get(profile_.get())->app_sorting();
syncer::StringOrdinal package_app_page =
sorting->GetPageOrdinal(kPackagedApp1Id);
@@ -272,7 +273,8 @@
}
TEST_F(ExtensionAppModelBuilderTest, OnExtensionMoved) {
- extensions::AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ extensions::AppSorting* sorting =
+ extensions::ExtensionPrefs::Get(profile_.get())->app_sorting();
sorting->SetPageOrdinal(kHostedAppId,
sorting->GetPageOrdinal(kPackagedApp1Id));
@@ -294,11 +296,13 @@
TEST_F(ExtensionAppModelBuilderTest, InvalidOrdinal) {
// Creates a no-ordinal case.
- extensions::AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ extensions::AppSorting* sorting =
+ extensions::ExtensionPrefs::Get(profile_.get())->app_sorting();
sorting->ClearOrdinals(kPackagedApp1Id);
// Creates a corrupted ordinal case.
- extensions::ExtensionScopedPrefs* scoped_prefs = service_->extension_prefs();
+ extensions::ExtensionScopedPrefs* scoped_prefs =
+ extensions::ExtensionPrefs::Get(profile_.get());
scoped_prefs->UpdateExtensionPref(
kHostedAppId,
"page_ordinal",
@@ -313,7 +317,8 @@
syncer::StringOrdinal conflict_ordinal =
syncer::StringOrdinal::CreateInitialOrdinal();
- extensions::AppSorting* sorting = service_->extension_prefs()->app_sorting();
+ extensions::AppSorting* sorting =
+ extensions::ExtensionPrefs::Get(profile_.get())->app_sorting();
sorting->SetPageOrdinal(kHostedAppId, conflict_ordinal);
sorting->SetAppLaunchOrdinal(kHostedAppId, conflict_ordinal);
diff --git a/chrome/browser/ui/app_list/recommended_apps.cc b/chrome/browser/ui/app_list/recommended_apps.cc
index 76833fde..94b4edd3 100644
--- a/chrome/browser/ui/app_list/recommended_apps.cc
+++ b/chrome/browser/ui/app_list/recommended_apps.cc
@@ -8,16 +8,13 @@
#include <vector>
#include "base/bind.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/install_tracker.h"
#include "chrome/browser/extensions/install_tracker_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/app_list/recommended_apps_observer.h"
#include "chrome/common/pref_names.h"
#include "extensions/browser/extension_prefs.h"
-#include "extensions/browser/extension_system.h"
-#include "extensions/browser/extension_system_provider.h"
-#include "extensions/browser/extensions_browser_client.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/pref_names.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
@@ -45,9 +42,7 @@
RecommendedApps::RecommendedApps(Profile* profile) : profile_(profile) {
extensions::InstallTrackerFactory::GetForProfile(profile_)->AddObserver(this);
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile_)->extension_service();
- extensions::ExtensionPrefs* prefs = service->extension_prefs();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
pref_change_registrar_.Init(prefs->pref_service());
pref_change_registrar_.Add(extensions::pref_names::kExtensions,
base::Bind(&RecommendedApps::Update,
@@ -70,14 +65,14 @@
}
void RecommendedApps::Update() {
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile_)->extension_service();
- extensions::ExtensionPrefs* prefs = service->extension_prefs();
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
std::vector<AppSortInfo> sorted_apps;
- const extensions::ExtensionSet* extensions = service->extensions();
- for (extensions::ExtensionSet::const_iterator app = extensions->begin();
- app != extensions->end(); ++app) {
+ const extensions::ExtensionSet& extensions =
+ extensions::ExtensionRegistry::Get(profile_)->enabled_extensions();
+ for (extensions::ExtensionSet::const_iterator app = extensions.begin();
+ app != extensions.end();
+ ++app) {
if (!(*app)->ShouldDisplayInAppLauncher())
continue;
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
index 4ad7725..d16e333 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
@@ -70,6 +70,7 @@
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_resource.h"
@@ -701,9 +702,8 @@
if (!extension)
return extensions::LAUNCH_TYPE_DEFAULT;
- return extensions::GetLaunchType(
- profile_->GetExtensionService()->extension_prefs(),
- extension);
+ return extensions::GetLaunchType(extensions::ExtensionPrefs::Get(profile_),
+ extension);
}
ash::ShelfID ChromeLauncherController::GetShelfIDForAppID(
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_context_menu_controller.mm b/chrome/browser/ui/cocoa/extensions/extension_action_context_menu_controller.mm
index dfdd9467..591b792a 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_action_context_menu_controller.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_action_context_menu_controller.mm
@@ -24,6 +24,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "grit/chromium_strings.h"
@@ -176,8 +177,7 @@
- (void)onHide:(id)sender {
extensions::ExtensionActionAPI::SetBrowserActionVisibility(
- extensions::ExtensionSystem::Get(
- browser_->profile())->extension_service()->extension_prefs(),
+ extensions::ExtensionPrefs::Get(browser_->profile()),
extension_->id(),
false);
}
diff --git a/chrome/browser/ui/extensions/application_launch.cc b/chrome/browser/ui/extensions/application_launch.cc
index 51be341..2e4cd22b 100644
--- a/chrome/browser/ui/extensions/application_launch.cc
+++ b/chrome/browser/ui/extensions/application_launch.cc
@@ -172,10 +172,8 @@
#if defined(USE_ASH)
// In ash, LAUNCH_TYPE_FULLSCREEN launches in a maximized app window and
// LAUNCH_TYPE_WINDOW launches in a normal app window.
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- extensions::LaunchType launch_type = extensions::GetLaunchType(
- service->extension_prefs(), extension);
+ extensions::LaunchType launch_type =
+ extensions::GetLaunchType(ExtensionPrefs::Get(profile), extension);
if (launch_type == extensions::LAUNCH_TYPE_FULLSCREEN)
return ui::SHOW_STATE_MAXIMIZED;
else if (launch_type == extensions::LAUNCH_TYPE_WINDOW)
@@ -261,13 +259,8 @@
browser->window()->Activate();
}
- // Check the prefs for overridden mode.
- ExtensionService* extension_service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- DCHECK(extension_service);
-
- extensions::LaunchType launch_type = extensions::GetLaunchType(
- extension_service->extension_prefs(), extension);
+ extensions::LaunchType launch_type =
+ extensions::GetLaunchType(ExtensionPrefs::Get(profile), extension);
UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100);
int add_type = TabStripModel::ADD_ACTIVE;
@@ -338,8 +331,7 @@
Profile* profile = params.profile;
WebContents* tab = NULL;
- ExtensionPrefs* prefs = extensions::ExtensionSystem::Get(profile)->
- extension_service()->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(profile);
prefs->SetActiveBit(extension->id(), true);
UMA_HISTOGRAM_ENUMERATION(
@@ -428,14 +420,10 @@
override_url(),
override_bounds(),
command_line(CommandLine::NO_PROGRAM) {
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- DCHECK(service);
-
// Look up the app preference to find out the right launch container. Default
// is to launch as a regular tab.
- container = extensions::GetLaunchContainer(
- service->extension_prefs(), extension);
+ container =
+ extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
}
AppLaunchParams::AppLaunchParams(Profile* profile,
@@ -455,14 +443,10 @@
} else if (disposition == NEW_WINDOW) {
container = extensions::LAUNCH_CONTAINER_WINDOW;
} else {
- ExtensionService* service =
- extensions::ExtensionSystem::Get(profile)->extension_service();
- DCHECK(service);
-
// Look at preference to find the right launch container. If no preference
// is set, launch as a regular tab.
- container = extensions::GetLaunchContainer(
- service->extension_prefs(), extension);
+ container =
+ extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
disposition = NEW_FOREGROUND_TAB;
}
}
diff --git a/chrome/browser/ui/extensions/extension_enable_flow.cc b/chrome/browser/ui/extensions/extension_enable_flow.cc
index 03534bfa..4586331c 100644
--- a/chrome/browser/ui/extensions/extension_enable_flow.cc
+++ b/chrome/browser/ui/extensions/extension_enable_flow.cc
@@ -85,8 +85,8 @@
return;
}
- extensions::ExtensionPrefs* extension_prefs = service->extension_prefs();
- if (!extension_prefs->DidExtensionEscalatePermissions(extension_id_)) {
+ extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_);
+ if (!prefs->DidExtensionEscalatePermissions(extension_id_)) {
// Enable the extension immediately if its privileges weren't escalated.
// This is a no-op if the extension was previously terminated.
service->EnableExtension(extension_id_);
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
index 6f794fd..a40921f 100644
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -87,6 +87,7 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/constants.h"
#include "grit/locale_settings.h"
@@ -204,12 +205,12 @@
// Look at preferences to find the right launch container. If no
// preference is set, launch as a window.
extensions::LaunchContainer launch_container = extensions::GetLaunchContainer(
- extensions_service->extension_prefs(), extension);
+ extensions::ExtensionPrefs::Get(profile), extension);
if (!CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableStreamlinedHostedApps) &&
+ switches::kEnableStreamlinedHostedApps) &&
!extensions::HasPreferredLaunchContainer(
- extensions_service->extension_prefs(), extension)) {
+ extensions::ExtensionPrefs::Get(profile), extension)) {
launch_container = extensions::LAUNCH_CONTAINER_WINDOW;
}
diff --git a/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc b/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
index 993bda134..6b7a58f 100644
--- a/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
+++ b/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
@@ -33,6 +33,7 @@
#include "components/user_prefs/pref_registry_syncable.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/common/extension.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/permissions/permission_set.h"
@@ -201,7 +202,7 @@
// (The web store doesn't count.)
scoped_refptr<extensions::Extension> webstore =
CreateExtension("web store", extension_misc::kWebStoreAppId);
- extensions->extension_prefs()->AddGrantedPermissions(
+ extensions::ExtensionPrefs::Get(profile_.get())->AddGrantedPermissions(
webstore->id(), make_scoped_refptr(new extensions::PermissionSet).get());
extensions->AddExtension(webstore.get());
EXPECT_FALSE(GetCallbackResult(
@@ -209,7 +210,7 @@
scoped_refptr<extensions::Extension> extension =
CreateExtension("foo", std::string());
- extensions->extension_prefs()->AddGrantedPermissions(
+ extensions::ExtensionPrefs::Get(profile_.get())->AddGrantedPermissions(
extension->id(), make_scoped_refptr(new extensions::PermissionSet).get());
extensions->AddExtension(extension.get());
EXPECT_TRUE(GetCallbackResult(
diff --git a/chrome/browser/ui/views/toolbar/browser_actions_container_browsertest.cc b/chrome/browser/ui/views/toolbar/browser_actions_container_browsertest.cc
index d0d94494..a707bb7 100644
--- a/chrome/browser/ui/views/toolbar/browser_actions_container_browsertest.cc
+++ b/chrome/browser/ui/views/toolbar/browser_actions_container_browsertest.cc
@@ -8,8 +8,8 @@
#include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/extension_prefs.h"
using extensions::Extension;
@@ -181,9 +181,6 @@
// Force hide this browser action.
extensions::ExtensionActionAPI::SetBrowserActionVisibility(
- extensions::ExtensionSystem::Get(browser()->profile())->
- extension_service()->extension_prefs(),
- idA,
- false);
+ extensions::ExtensionPrefs::Get(browser()->profile()), idA, false);
EXPECT_EQ(0, browser_actions_bar()->VisibleBrowserActions());
}
diff --git a/chrome/browser/ui/webui/extensions/extension_info_ui.cc b/chrome/browser/ui/webui/extensions/extension_info_ui.cc
index b2dbfd00..33c6fe9 100644
--- a/chrome/browser/ui/webui/extensions/extension_info_ui.cc
+++ b/chrome/browser/ui/webui/extensions/extension_info_ui.cc
@@ -57,8 +57,9 @@
void ExtensionInfoUI::AddExtensionDataToSource(
const std::string& extension_id) {
- ExtensionService* extension_service = ExtensionSystem::Get(
- Profile::FromWebUI(web_ui()))->extension_service();
+ Profile* profile = Profile::FromWebUI(web_ui());
+ ExtensionService* extension_service =
+ ExtensionSystem::Get(profile)->extension_service();
const Extension* extension =
extension_service->extensions()->GetByID(extension_id);
if (!extension)
@@ -76,8 +77,8 @@
false, NULL);
source_->AddString("icon", base::UTF8ToUTF16(icon.spec()));
// Set the last update time (the install time).
- base::Time install_time = extension_service->extension_prefs()->
- GetInstallTime(extension_id);
+ base::Time install_time =
+ ExtensionPrefs::Get(profile)->GetInstallTime(extension_id);
source_->AddString("installTime", base::TimeFormatShortDate(install_time));
}
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
index 491c188b..5fbee8f 100644
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
@@ -198,7 +198,7 @@
bool enabled = extension_service_->IsExtensionEnabled(extension->id());
GetExtensionBasicInfo(extension, enabled, extension_data);
- ExtensionPrefs* prefs = extension_service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(extension_service_->profile());
int disable_reasons = prefs->GetDisableReasons(extension->id());
bool suspicious_install =
@@ -259,8 +259,7 @@
extension_data->SetString("locationText", location_text);
base::string16 blacklist_text;
- switch (extension_service_->extension_prefs()->GetExtensionBlacklistState(
- extension->id())) {
+ switch (prefs->GetExtensionBlacklistState(extension->id())) {
case BLACKLISTED_SECURITY_VULNERABILITY:
blacklist_text = l10n_util::GetStringUTF16(
IDS_OPTIONS_BLACKLISTED_SECURITY_VULNERABILITY);
@@ -287,8 +286,7 @@
else
extension_data->SetInteger("order", 2);
- if (!ExtensionActionAPI::GetBrowserActionVisibility(
- extension_service_->extension_prefs(), extension->id())) {
+ if (!ExtensionActionAPI::GetBrowserActionVisibility(prefs, extension->id())) {
extension_data->SetBoolean("enable_show_button", true);
}
@@ -752,7 +750,7 @@
results.SetBoolean("developerMode", developer_mode);
bool load_unpacked_disabled =
- extension_service_->extension_prefs()->ExtensionsBlacklistedByDefault();
+ ExtensionPrefs::Get(profile)->ExtensionsBlacklistedByDefault();
results.SetBoolean("loadUnpackedDisabled", load_unpacked_disabled);
web_ui()->CallJavascriptFunction(
@@ -853,7 +851,7 @@
}
if (enable_str == "true") {
- ExtensionPrefs* prefs = extension_service_->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(extension_service_->profile());
if (prefs->DidExtensionEscalatePermissions(extension_id)) {
ShowExtensionDisabledDialog(
extension_service_, web_ui()->GetWebContents(), extension);
@@ -998,7 +996,9 @@
if (!extension)
return;
ExtensionActionAPI::SetBrowserActionVisibility(
- extension_service_->extension_prefs(), extension->id(), true);
+ ExtensionPrefs::Get(extension_service_->profile()),
+ extension->id(),
+ true);
}
void ExtensionSettingsHandler::HandleAutoUpdateMessage(
@@ -1083,8 +1083,7 @@
registrar_.Add(
this,
chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED,
- content::Source<ExtensionPrefs>(
- profile->GetExtensionService()->extension_prefs()));
+ content::Source<ExtensionPrefs>(ExtensionPrefs::Get(profile)));
registrar_.Add(this,
chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
content::NotificationService::AllBrowserContextsAndSources());
diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
index 02a49e0..a82927e 100644
--- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
+++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
@@ -159,7 +159,7 @@
value->SetBoolean("icon_small_exists", icon_small_exists);
value->SetInteger("launch_container",
extensions::AppLaunchInfo::GetLaunchContainer(extension));
- ExtensionPrefs* prefs = service->extension_prefs();
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(service->profile());
value->SetInteger("launch_type", extensions::GetLaunchType(prefs, extension));
value->SetBoolean("is_component",
extension->location() == extensions::Manifest::COMPONENT);
@@ -271,7 +271,8 @@
if (app_info.get()) {
visible_apps_.insert(extension->id());
- ExtensionPrefs* prefs = extension_service_->extension_prefs();
+ ExtensionPrefs* prefs =
+ ExtensionPrefs::Get(extension_service_->profile());
scoped_ptr<base::FundamentalValue> highlight(
base::Value::CreateBooleanValue(
prefs->IsFromBookmark(extension->id()) &&
@@ -464,7 +465,7 @@
&AppLauncherHandler::OnExtensionPreferenceChanged,
base::Unretained(this));
extension_pref_change_registrar_.Init(
- extension_service_->extension_prefs()->pref_service());
+ ExtensionPrefs::Get(profile)->pref_service());
extension_pref_change_registrar_.Add(
extensions::pref_names::kExtensions, callback);
extension_pref_change_registrar_.Add(prefs::kNtpAppPageNames, callback);
@@ -475,9 +476,10 @@
content::Source<Profile>(profile));
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNINSTALLED,
content::Source<Profile>(profile));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
- content::Source<AppSorting>(
- extension_service_->extension_prefs()->app_sorting()));
+ registrar_.Add(this,
+ chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
+ content::Source<AppSorting>(
+ ExtensionPrefs::Get(profile)->app_sorting()));
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_INSTALL_ERROR,
content::Source<CrxInstaller>(NULL));
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOAD_ERROR,
@@ -643,7 +645,8 @@
// Don't update the page; it already knows the apps have been reordered.
base::AutoReset<bool> auto_reset(&ignore_changes_, true);
- extension_service_->extension_prefs()->SetAppDraggedByUser(dragged_app_id);
+ ExtensionPrefs::Get(extension_service_->profile())
+ ->SetAppDraggedByUser(dragged_app_id);
extension_service_->OnExtensionMoved(dragged_app_id,
predecessor_to_moved_ext,
successor_to_moved_ext);
@@ -651,7 +654,7 @@
void AppLauncherHandler::HandleSetPageIndex(const base::ListValue* args) {
AppSorting* app_sorting =
- extension_service_->extension_prefs()->app_sorting();
+ ExtensionPrefs::Get(extension_service_->profile())->app_sorting();
std::string extension_id;
double page_index;
@@ -690,7 +693,7 @@
double page_index;
CHECK(args->GetDouble(2, &page_index));
AppSorting* app_sorting =
- extension_service_->extension_prefs()->app_sorting();
+ ExtensionPrefs::Get(extension_service_->profile())->app_sorting();
const syncer::StringOrdinal& page_ordinal =
app_sorting->PageIntegerAsStringOrdinal(static_cast<size_t>(page_index));