summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/api/developer_private/developer_private_api.cc48
-rw-r--r--chrome/browser/extensions/api/management/management_api.cc5
-rw-r--r--chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.cc7
-rw-r--r--chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc56
-rw-r--r--chrome/browser/extensions/api/terminal/terminal_extension_helper.cc27
-rw-r--r--chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc5
-rw-r--r--chrome/browser/extensions/chrome_app_api_browsertest.cc9
-rw-r--r--chrome/browser/extensions/convert_web_app_browsertest.cc6
-rw-r--r--chrome/browser/extensions/extension_browsertest.cc3
-rw-r--r--chrome/browser/extensions/extension_context_menu_browsertest.cc16
-rw-r--r--chrome/browser/extensions/extension_crash_recovery_browsertest.cc13
-rw-r--r--chrome/browser/extensions/extension_disabled_ui_browsertest.cc15
-rw-r--r--chrome/browser/extensions/extension_functional_browsertest.cc16
-rw-r--r--chrome/browser/extensions/extension_message_bubble_controller_unittest.cc3
-rw-r--r--chrome/browser/extensions/extension_web_ui.cc16
-rw-r--r--chrome/browser/extensions/extension_web_ui_unittest.cc17
-rw-r--r--chrome/browser/extensions/isolated_app_browsertest.cc46
-rw-r--r--chrome/browser/extensions/tab_helper.cc19
-rw-r--r--chrome/browser/extensions/theme_installed_infobar_delegate.cc4
-rw-r--r--chrome/browser/extensions/user_script_listener.cc9
-rw-r--r--chrome/browser/extensions/webstore_startup_installer_browsertest.cc6
21 files changed, 171 insertions, 175 deletions
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 2d11ae2..3408545 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
@@ -90,11 +90,14 @@ namespace developer_private = api::developer_private;
namespace {
-const base::FilePath::CharType kUnpackedAppsFolder[]
- = FILE_PATH_LITERAL("apps_target");
+const char kUnpackedAppsFolder[] = "apps_target";
+
+ExtensionService* GetExtensionService(Profile* profile) {
+ return ExtensionSystem::Get(profile)->extension_service();
+}
ExtensionUpdater* GetExtensionUpdater(Profile* profile) {
- return profile->GetExtensionService()->updater();
+ return GetExtensionService(profile)->updater();
}
GURL GetImageURLFromData(const std::string& contents) {
@@ -583,7 +586,7 @@ ItemInspectViewList DeveloperPrivateGetItemsInfoFunction::
BackgroundInfo::HasGeneratedBackgroundPage(extension)));
}
- ExtensionService* service = GetProfile()->GetExtensionService();
+ ExtensionService* service = GetExtensionService(GetProfile());
// Repeat for the incognito process, if applicable. Don't try to get
// app windows for incognito process.
if (service->profile()->HasOffTheRecordProfile() &&
@@ -724,8 +727,8 @@ bool DeveloperPrivateReloadFunction::RunSync() {
scoped_ptr<Reload::Params> params(Reload::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
- ExtensionService* service = GetProfile()->GetExtensionService();
CHECK(!params->item_id.empty());
+ ExtensionService* service = GetExtensionService(GetProfile());
service->ReloadExtension(params->item_id);
return true;
}
@@ -765,12 +768,12 @@ DeveloperPrivateReloadFunction::~DeveloperPrivateReloadFunction() {}
// This is called when the user clicks "Revoke File Access."
void DeveloperPrivateShowPermissionsDialogFunction::InstallUIProceed() {
- apps::SavedFilesService::Get(GetProfile())
- ->ClearQueue(GetProfile()->GetExtensionService()->GetExtensionById(
- extension_id_, true));
- if (apps::AppRestoreService::Get(GetProfile())
- ->IsAppRestorable(extension_id_))
- apps::AppLoadService::Get(GetProfile())->RestartApplication(extension_id_);
+ Profile* profile = GetProfile();
+ const Extension* extension = ExtensionRegistry::Get(
+ profile)->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
+ apps::SavedFilesService::Get(profile)->ClearQueue(extension);
+ if (apps::AppRestoreService::Get(profile)->IsAppRestorable(extension_id_))
+ apps::AppLoadService::Get(profile)->RestartApplication(extension_id_);
SendResponse(true);
Release();
}
@@ -796,8 +799,8 @@ bool DeveloperPrivateEnableFunction::RunSync() {
std::string extension_id = params->item_id;
const Extension* extension =
- ExtensionRegistry::Get(GetProfile())
- ->GetExtensionById(extension_id, ExtensionRegistry::EVERYTHING);
+ ExtensionRegistry::Get(GetProfile())->GetExtensionById(
+ extension_id, ExtensionRegistry::EVERYTHING);
if (!extension) {
LOG(ERROR) << "Did not find extension with id " << extension_id;
return false;
@@ -857,8 +860,7 @@ void DeveloperPrivateEnableFunction::OnRequirementsChecked(
const std::string& extension_id,
std::vector<std::string> requirements_errors) {
if (requirements_errors.empty()) {
- ExtensionService* service = GetProfile()->GetExtensionService();
- service->EnableExtension(extension_id);
+ GetExtensionService(GetProfile())->EnableExtension(extension_id);
} else {
ExtensionErrorReporter::GetInstance()->ReportError(
base::UTF8ToUTF16(JoinString(requirements_errors, ' ')),
@@ -881,12 +883,8 @@ bool DeveloperPrivateInspectFunction::RunSync() {
if (render_process_id == -1) {
// This is a lazy background page. Identify if it is a normal
// or incognito background page.
- ExtensionService* service = GetProfile()->GetExtensionService();
- if (options.incognito)
- service = ExtensionSystem::Get(
- service->profile()->GetOffTheRecordProfile())->extension_service();
- const Extension* extension = service->extensions()->GetByID(
- options.extension_id);
+ const Extension* extension = ExtensionRegistry::Get(
+ GetProfile())->enabled_extensions().GetByID(options.extension_id);
DCHECK(extension);
// Wakes up the background page and opens the inspect window.
devtools_util::InspectBackgroundPage(extension, GetProfile());
@@ -926,7 +924,7 @@ bool DeveloperPrivateLoadUnpackedFunction::RunAsync() {
void DeveloperPrivateLoadUnpackedFunction::FileSelected(
const base::FilePath& path) {
- ExtensionService* service = GetProfile()->GetExtensionService();
+ ExtensionService* service = GetExtensionService(GetProfile());
UnpackedInstaller::Create(service)->Load(path);
DeveloperPrivateAPI::Get(GetProfile())->SetLastUnpackedDirectory(path);
SendResponse(true);
@@ -1094,7 +1092,7 @@ bool DeveloperPrivateLoadDirectoryFunction::RunAsync() {
project_base_url_ = directory_url_str.substr(0, pos + 1);
base::FilePath project_path(GetProfile()->GetPath());
- project_path = project_path.Append(kUnpackedAppsFolder);
+ project_path = project_path.AppendASCII(kUnpackedAppsFolder);
project_path = project_path.Append(
base::FilePath::FromUTF8Unsafe(project_name));
@@ -1121,7 +1119,7 @@ bool DeveloperPrivateLoadDirectoryFunction::RunAsync() {
}
void DeveloperPrivateLoadDirectoryFunction::Load() {
- ExtensionService* service = GetProfile()->GetExtensionService();
+ ExtensionService* service = GetExtensionService(GetProfile());
UnpackedInstaller::Create(service)->Load(project_base_path_);
// TODO(grv) : The unpacked installer should fire an event when complete
@@ -1134,7 +1132,7 @@ void DeveloperPrivateLoadDirectoryFunction::ClearExistingDirectoryContent(
const base::FilePath& project_path) {
// Clear the project directory before copying new files.
- base::DeleteFile(project_path, true/*recursive*/);
+ base::DeleteFile(project_path, true /*recursive*/);
pending_copy_operations_count_ = 1;
diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc
index 489a25e..b8f7c06 100644
--- a/chrome/browser/extensions/api/management/management_api.cc
+++ b/chrome/browser/extensions/api/management/management_api.cc
@@ -287,11 +287,11 @@ void AddExtensionInfo(const ExtensionSet& extensions,
} // namespace
ExtensionService* ManagementFunction::service() {
- return GetProfile()->GetExtensionService();
+ return extensions::ExtensionSystem::Get(GetProfile())->extension_service();
}
ExtensionService* AsyncManagementFunction::service() {
- return GetProfile()->GetExtensionService();
+ return extensions::ExtensionSystem::Get(GetProfile())->extension_service();
}
bool ManagementGetAllFunction::RunSync() {
@@ -665,7 +665,6 @@ void ManagementUninstallFunctionBase::Finish(bool should_uninstall) {
keys::kUninstallCanceledError, extension_id_);
SendResponse(false);
}
-
}
void ManagementUninstallFunctionBase::ExtensionUninstallAccepted() {
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 a7b4e72..2c4f4e7 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,7 +16,6 @@
#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/extension_service.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"
@@ -63,10 +62,8 @@ scoped_ptr<base::ListValue> WatchedGalleryIdsToValue(
// Looks up an extension by ID. Does not include disabled extensions.
const Extension* GetExtensionById(Profile* profile,
const std::string& extension_id) {
- ExtensionService* service = profile->GetExtensionService();
- if (!service)
- return NULL;
- return service->GetExtensionById(extension_id, false);
+ return ExtensionRegistry::Get(profile)->enabled_extensions().GetByID(
+ extension_id);
}
} // namespace
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
index 17b2922..9af7934 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
@@ -4,30 +4,27 @@
#include "base/basictypes.h"
#include "base/command_line.h"
-#if defined(OS_MACOSX)
-#include "base/mac/mac_util.h"
-#endif
#include "base/strings/stringprintf.h"
-#include "base/win/windows_version.h"
#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/fullscreen/fullscreen_controller.h"
-#include "chrome/common/chrome_switches.h"
#include "chrome/common/chrome_version_info.h"
-#include "chrome/test/base/test_switches.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
-#include "content/public/common/content_switches.h"
-#include "extensions/common/feature_switch.h"
-#include "extensions/common/features/base_feature_provider.h"
-#include "extensions/common/features/complex_feature.h"
-#include "extensions/common/features/feature.h"
-#include "extensions/common/features/simple_feature.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/common/switches.h"
-#include "ui/compositor/compositor_switches.h"
+
+#if defined(OS_WIN)
+#include "base/win/windows_version.h"
+#endif
+
+#if defined(OS_WIN) && defined(USE_ASH)
+#include "chrome/test/base/test_switches.h"
+#endif
+
+namespace extensions {
namespace {
@@ -37,7 +34,7 @@ class TabCaptureApiTest : public ExtensionApiTest {
public:
void AddExtensionToCommandLineWhitelist() {
CommandLine::ForCurrentProcess()->AppendSwitchASCII(
- extensions::switches::kWhitelistedExtensionID, kExtensionId);
+ switches::kWhitelistedExtensionID, kExtensionId);
}
};
@@ -49,12 +46,10 @@ class TabCaptureApiPixelTest : public TabCaptureApiTest {
}
};
-} // namespace
-
IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, ApiTests) {
#if defined(OS_WIN) && defined(USE_ASH)
// Disable this test in Metro+Ash for now (http://crbug.com/262796).
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests))
+ if (CommandLine::ForCurrentProcess()->HasSwitch(::switches::kAshBrowserTests))
return;
#endif
@@ -163,12 +158,10 @@ IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, MAYBE_ActiveTabPermission) {
// Grant permission and make sure capture succeeds.
EXPECT_TRUE(before_grant_permission.WaitUntilSatisfied());
- ExtensionService* extension_service =
- Profile::FromBrowserContext(web_contents->GetBrowserContext())
- ->GetExtensionService();
- const extensions::Extension* extension =
- extension_service->GetExtensionById(kExtensionId, false);
- extensions::TabHelper::FromWebContents(web_contents)
+ const Extension* extension = ExtensionRegistry::Get(
+ web_contents->GetBrowserContext())->enabled_extensions().GetByID(
+ kExtensionId);
+ TabHelper::FromWebContents(web_contents)
->active_tab_permission_granter()->GrantIfRequested(extension);
before_grant_permission.Reply("");
@@ -259,12 +252,11 @@ IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, MAYBE_GrantForChromePages) {
NEW_FOREGROUND_TAB,
content::PAGE_TRANSITION_LINK, false);
content::WebContents* web_contents = browser()->OpenURL(params);
- ExtensionService* extension_service =
- Profile::FromBrowserContext(web_contents->GetBrowserContext())
- ->GetExtensionService();
- extensions::TabHelper::FromWebContents(web_contents)
- ->active_tab_permission_granter()->GrantIfRequested(
- extension_service->GetExtensionById(kExtensionId, false));
+ const Extension* extension = ExtensionRegistry::Get(
+ web_contents->GetBrowserContext())->enabled_extensions().GetByID(
+ kExtensionId);
+ TabHelper::FromWebContents(web_contents)
+ ->active_tab_permission_granter()->GrantIfRequested(extension);
before_open_tab.Reply("");
ResultCatcher catcher;
@@ -297,3 +289,7 @@ IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, MAYBE_Constraints) {
ASSERT_TRUE(RunExtensionSubtest("tab_capture", "constraints.html"))
<< message_;
}
+
+} // namespace
+
+} // namespace extensions
diff --git a/chrome/browser/extensions/api/terminal/terminal_extension_helper.cc b/chrome/browser/extensions/api/terminal/terminal_extension_helper.cc
index 9b51433..ef3a201 100644
--- a/chrome/browser/extensions/api/terminal/terminal_extension_helper.cc
+++ b/chrome/browser/extensions/api/terminal/terminal_extension_helper.cc
@@ -4,19 +4,21 @@
#include "chrome/browser/extensions/api/terminal/terminal_extension_helper.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/extension_constants.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/common/extension.h"
+namespace extensions {
+
namespace {
const char kCroshExtensionEntryPoint[] = "/html/crosh.html";
-const extensions::Extension* GetTerminalExtension(Profile* profile) {
+const Extension* GetTerminalExtension(Profile* profile) {
// Search order for terminal extensions.
// We prefer hterm-dev, then hterm, then the builtin crosh extension.
- static const char* kPossibleAppIds[] = {
+ static const char* const kPossibleAppIds[] = {
extension_misc::kHTermDevAppId,
extension_misc::kHTermAppId,
extension_misc::kCroshBuiltinAppId,
@@ -25,10 +27,11 @@ const extensions::Extension* GetTerminalExtension(Profile* profile) {
// The hterm-dev should be first in the list.
DCHECK_EQ(kPossibleAppIds[0], extension_misc::kHTermDevAppId);
- ExtensionService* service = profile->GetExtensionService();
- for (size_t x = 0; x < arraysize(kPossibleAppIds); ++x) {
- const extensions::Extension* extension = service->GetExtensionById(
- kPossibleAppIds[x], false);
+ const ExtensionSet& extensions =
+ ExtensionRegistry::Get(profile)->enabled_extensions();
+ for (size_t i = 0; i < arraysize(kPossibleAppIds); ++i) {
+ const extensions::Extension* extension =
+ extensions.GetByID(kPossibleAppIds[i]);
if (extension)
return extension;
}
@@ -38,14 +41,12 @@ const extensions::Extension* GetTerminalExtension(Profile* profile) {
} // namespace
-namespace extensions {
-
GURL TerminalExtensionHelper::GetCroshExtensionURL(Profile* profile) {
+ GURL url;
const extensions::Extension* extension = GetTerminalExtension(profile);
- if (!extension)
- return GURL();
-
- return extension->GetResourceURL(kCroshExtensionEntryPoint);
+ if (extension)
+ url = extension->GetResourceURL(kCroshExtensionEntryPoint);
+ return url;
}
} // namespace extensions
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
index 0d78574..34db2a3 100644
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
@@ -37,6 +37,7 @@
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/extension_system.h"
#include "gpu/config/gpu_feature_type.h"
#include "gpu/config/gpu_info.h"
#include "net/dns/mock_host_resolver.h"
@@ -222,7 +223,7 @@ class ExtensionWebstorePrivateApiTest : public ExtensionApiTest {
}
ExtensionService* service() {
- return browser()->profile()->GetExtensionService();
+ return ExtensionSystem::Get(browser()->profile())->extension_service();
}
FakeSigninManagerForTesting* signin_manager_;
@@ -275,7 +276,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebstorePrivateApiTest, InstallAccepted) {
}
// Test having the default download directory missing.
- IN_PROC_BROWSER_TEST_F(ExtensionWebstorePrivateApiTest, MissingDownloadDir) {
+IN_PROC_BROWSER_TEST_F(ExtensionWebstorePrivateApiTest, MissingDownloadDir) {
// Set a non-existent directory as the download path.
base::ScopedTempDir temp_dir;
EXPECT_TRUE(temp_dir.CreateUniqueTempDir());
diff --git a/chrome/browser/extensions/chrome_app_api_browsertest.cc b/chrome/browser/extensions/chrome_app_api_browsertest.cc
index 86428bf..13e37c6 100644
--- a/chrome/browser/extensions/chrome_app_api_browsertest.cc
+++ b/chrome/browser/extensions/chrome_app_api_browsertest.cc
@@ -286,15 +286,17 @@ IN_PROC_BROWSER_TEST_F(ChromeAppAPITest, InstallAndRunningState) {
EXPECT_TRUE(IsAppInstalledInMainFrame());
// Disable the extension and verify the state.
- browser()->profile()->GetExtensionService()->DisableExtension(
- extension->id(), Extension::DISABLE_PERMISSIONS_INCREASE);
+ ExtensionService* service = extensions::ExtensionSystem::Get(
+ browser()->profile())->extension_service();
+ service->DisableExtension(extension->id(),
+ Extension::DISABLE_PERMISSIONS_INCREASE);
ui_test_utils::NavigateToURL(browser(), app_url);
EXPECT_EQ("disabled", InstallStateInMainFrame());
EXPECT_EQ("cannot_run", RunningStateInMainFrame());
EXPECT_FALSE(IsAppInstalledInMainFrame());
- browser()->profile()->GetExtensionService()->EnableExtension(extension->id());
+ service->EnableExtension(extension->id());
EXPECT_EQ("installed", InstallStateInMainFrame());
EXPECT_EQ("ready_to_run", RunningStateInMainFrame());
EXPECT_FALSE(IsAppInstalledInMainFrame());
@@ -309,7 +311,6 @@ IN_PROC_BROWSER_TEST_F(ChromeAppAPITest, InstallAndRunningState) {
EXPECT_EQ("installed", InstallStateInIFrame());
EXPECT_EQ("cannot_run", RunningStateInIFrame());
EXPECT_FALSE(IsAppInstalledInIFrame());
-
}
IN_PROC_BROWSER_TEST_F(ChromeAppAPITest, InstallAndRunningStateFrame) {
diff --git a/chrome/browser/extensions/convert_web_app_browsertest.cc b/chrome/browser/extensions/convert_web_app_browsertest.cc
index b53893e..57e8f13 100644
--- a/chrome/browser/extensions/convert_web_app_browsertest.cc
+++ b/chrome/browser/extensions/convert_web_app_browsertest.cc
@@ -21,6 +21,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_icon_set.h"
#include "extensions/common/manifest_handlers/icons_handler.h"
@@ -62,8 +63,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, DISABLED_Basic) {
return;
#endif
- browser()->profile()->GetExtensionService()->set_show_extensions_prompts(
- false);
+ ExtensionService* service =
+ ExtensionSystem::Get(browser()->profile())->extension_service();
+ service->set_show_extensions_prompts(false);
content::NotificationRegistrar registrar;
registrar.Add(this,
diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
index f57284f..b0477b2 100644
--- a/chrome/browser/extensions/extension_browsertest.cc
+++ b/chrome/browser/extensions/extension_browsertest.cc
@@ -455,7 +455,8 @@ const Extension* ExtensionBrowserTest::InstallOrUpdateExtension(
Extension::InitFromValueFlags creation_flags,
bool install_immediately,
bool is_ephemeral) {
- ExtensionService* service = profile()->GetExtensionService();
+ ExtensionService* service =
+ extensions::ExtensionSystem::Get(profile())->extension_service();
service->set_show_extensions_prompts(false);
size_t num_before = service->extensions()->size();
diff --git a/chrome/browser/extensions/extension_context_menu_browsertest.cc b/chrome/browser/extensions/extension_context_menu_browsertest.cc
index 8891138..e13aba9 100644
--- a/chrome/browser/extensions/extension_context_menu_browsertest.cc
+++ b/chrome/browser/extensions/extension_context_menu_browsertest.cc
@@ -5,7 +5,6 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/extensions/lazy_background_page_test_util.h"
#include "chrome/browser/profiles/profile.h"
@@ -15,7 +14,7 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/common/context_menu_params.h"
-#include "extensions/browser/extension_system.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/test_management_policy.h"
#include "extensions/common/extension_set.h"
#include "extensions/common/switches.h"
@@ -67,10 +66,11 @@ class ExtensionContextMenuBrowserTest : public ExtensionBrowserTest {
// Returns a pointer to the currently loaded extension with |name|, or null
// if not found.
const extensions::Extension* GetExtensionNamed(const std::string& name) {
- const extensions::ExtensionSet* extensions =
- browser()->profile()->GetExtensionService()->extensions();
- for (extensions::ExtensionSet::const_iterator i = extensions->begin();
- i != extensions->end(); ++i) {
+ const extensions::ExtensionSet& extensions =
+ extensions::ExtensionRegistry::Get(
+ browser()->profile())->enabled_extensions();
+ for (extensions::ExtensionSet::const_iterator i = extensions.begin();
+ i != extensions.end(); ++i) {
if ((*i)->name() == name) {
return i->get();
}
@@ -140,8 +140,8 @@ class ExtensionContextMenuBrowserTest : public ExtensionBrowserTest {
ASSERT_EQ(!enabled, menu->IsCommandIdEnabled(command_id));
}
- bool MenuHasExtensionItemWithLabel(TestRenderViewContextMenu* menu,
- const std::string& label) {
+ bool MenuHasExtensionItemWithLabel(TestRenderViewContextMenu* menu,
+ const std::string& label) {
base::string16 label16 = base::UTF8ToUTF16(label);
std::map<int, MenuItem::Id>::iterator i;
for (i = menu->extension_items().extension_item_map_.begin();
diff --git a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
index 5082ded..3f577d7 100644
--- a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
+++ b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
@@ -48,7 +48,8 @@ class ExtensionCrashRecoveryTestBase : public ExtensionBrowserTest {
virtual size_t CountBalloons() = 0;
ExtensionService* GetExtensionService() {
- return browser()->profile()->GetExtensionService();
+ return extensions::ExtensionSystem::Get(browser()->profile())->
+ extension_service();
}
extensions::ProcessManager* GetProcessManager() {
@@ -127,8 +128,7 @@ class ExtensionCrashRecoveryTestBase : public ExtensionBrowserTest {
std::string second_extension_id_;
};
-class MAYBE_ExtensionCrashRecoveryTest
- : public ExtensionCrashRecoveryTestBase {
+class MAYBE_ExtensionCrashRecoveryTest : public ExtensionCrashRecoveryTestBase {
protected:
virtual void AcceptNotification(size_t index) OVERRIDE {
message_center::MessageCenter* message_center =
@@ -136,8 +136,8 @@ class MAYBE_ExtensionCrashRecoveryTest
ASSERT_GT(message_center->NotificationCount(), index);
message_center::NotificationList::Notifications::reverse_iterator it =
message_center->GetVisibleNotifications().rbegin();
- for (size_t i=0; i < index; ++i)
- it++;
+ for (size_t i = 0; i < index; ++i)
+ ++it;
std::string id = (*it)->id();
message_center->ClickOnNotification(id);
WaitForExtensionLoad();
@@ -149,7 +149,8 @@ class MAYBE_ExtensionCrashRecoveryTest
ASSERT_GT(message_center->NotificationCount(), index);
message_center::NotificationList::Notifications::reverse_iterator it =
message_center->GetVisibleNotifications().rbegin();
- for (size_t i=0; i < index; i++) { it++; }
+ for (size_t i = 0; i < index; ++i)
+ ++it;
ASSERT_TRUE(g_browser_process->notification_ui_manager()->
CancelById((*it)->id()));
}
diff --git a/chrome/browser/extensions/extension_disabled_ui_browsertest.cc b/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
index 5cd748a..4a523e7 100644
--- a/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
+++ b/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
@@ -22,6 +22,7 @@
#include "content/test/net/url_request_prepackaged_interceptor.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "net/url_request/url_fetcher.h"
#include "sync/protocol/extension_specifics.pb.h"
@@ -41,22 +42,24 @@ class ExtensionDisabledGlobalErrorTest : public ExtensionBrowserTest {
virtual void SetUpOnMainThread() OVERRIDE {
EXPECT_TRUE(scoped_temp_dir_.CreateUniqueTempDir());
- service_ = browser()->profile()->GetExtensionService();
+ service_ = extensions::ExtensionSystem::Get(
+ browser()->profile())->extension_service();
registry_ = ExtensionRegistry::Get(browser()->profile());
- base::FilePath pem_path = test_data_dir_.
- AppendASCII("permissions_increase").AppendASCII("permissions.pem");
+ const base::FilePath test_dir =
+ test_data_dir_.AppendASCII("permissions_increase");
+ const base::FilePath pem_path = test_dir.AppendASCII("permissions.pem");
path_v1_ = PackExtensionWithOptions(
- test_data_dir_.AppendASCII("permissions_increase").AppendASCII("v1"),
+ test_dir.AppendASCII("v1"),
scoped_temp_dir_.path().AppendASCII("permissions1.crx"),
pem_path,
base::FilePath());
path_v2_ = PackExtensionWithOptions(
- test_data_dir_.AppendASCII("permissions_increase").AppendASCII("v2"),
+ test_dir.AppendASCII("v2"),
scoped_temp_dir_.path().AppendASCII("permissions2.crx"),
pem_path,
base::FilePath());
path_v3_ = PackExtensionWithOptions(
- test_data_dir_.AppendASCII("permissions_increase").AppendASCII("v3"),
+ test_dir.AppendASCII("v3"),
scoped_temp_dir_.path().AppendASCII("permissions3.crx"),
pem_path,
base::FilePath());
diff --git a/chrome/browser/extensions/extension_functional_browsertest.cc b/chrome/browser/extensions/extension_functional_browsertest.cc
index 21500d1..ec9c0bf 100644
--- a/chrome/browser/extensions/extension_functional_browsertest.cc
+++ b/chrome/browser/extensions/extension_functional_browsertest.cc
@@ -11,11 +11,12 @@
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/notification_service.h"
+#include "extensions/browser/extension_system.h"
namespace extensions {
class ExtensionFunctionalTest : public ExtensionBrowserTest {
-public:
+ public:
void InstallExtensionSilently(ExtensionService* service,
const char* filename) {
service->set_show_extensions_prompts(false);
@@ -50,16 +51,19 @@ public:
last_loaded_extension_id(), false);
EXPECT_TRUE(extension != NULL);
}
+
+ ExtensionService* GetExtensionService() {
+ return ExtensionSystem::Get(profile())->extension_service();
+ }
};
IN_PROC_BROWSER_TEST_F(ExtensionFunctionalTest,
PRE_TestAdblockExtensionCrash) {
- ExtensionService* service = profile()->GetExtensionService();
- InstallExtensionSilently(service, "adblock.crx");
+ InstallExtensionSilently(GetExtensionService(), "adblock.crx");
}
IN_PROC_BROWSER_TEST_F(ExtensionFunctionalTest, TestAdblockExtensionCrash) {
- ExtensionService* service = profile()->GetExtensionService();
+ ExtensionService* service = GetExtensionService();
// Verify that the extension is enabled and allowed in incognito
// is disabled.
EXPECT_TRUE(service->IsExtensionEnabled(last_loaded_extension_id()));
@@ -67,11 +71,11 @@ IN_PROC_BROWSER_TEST_F(ExtensionFunctionalTest, TestAdblockExtensionCrash) {
}
IN_PROC_BROWSER_TEST_F(ExtensionFunctionalTest, TestSetExtensionsState) {
- ExtensionService* service = profile()->GetExtensionService();
- InstallExtensionSilently(service, "google_talk.crx");
+ InstallExtensionSilently(GetExtensionService(), "google_talk.crx");
// Disable the extension and verify.
util::SetIsIncognitoEnabled(last_loaded_extension_id(), profile(), false);
+ ExtensionService* service = GetExtensionService();
service->DisableExtension(last_loaded_extension_id(),
Extension::DISABLE_USER_ACTION);
EXPECT_FALSE(service->IsExtensionEnabled(last_loaded_extension_id()));
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
index b33c31b..082d662 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
@@ -24,6 +24,7 @@
#include "extensions/browser/extension_pref_value_map_factory.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_builder.h"
#include "extensions/common/feature_switch.h"
@@ -394,7 +395,7 @@ class ExtensionMessageBubbleTest : public testing::Test {
CommandLine::ForCurrentProcess(),
base::FilePath(),
false);
- service_ = profile_->GetExtensionService();
+ service_ = ExtensionSystem::Get(profile())->extension_service();
service_->Init();
}
diff --git a/chrome/browser/extensions/extension_web_ui.cc b/chrome/browser/extensions/extension_web_ui.cc
index 4b395dc..d75eaae 100644
--- a/chrome/browser/extensions/extension_web_ui.cc
+++ b/chrome/browser/extensions/extension_web_ui.cc
@@ -13,7 +13,6 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/favicon/favicon_service.h"
@@ -155,9 +154,8 @@ ExtensionWebUI::ExtensionWebUI(content::WebUI* web_ui, const GURL& url)
: WebUIController(web_ui),
url_(url) {
Profile* profile = Profile::FromWebUI(web_ui);
- ExtensionService* service = profile->GetExtensionService();
- const Extension* extension =
- service->extensions()->GetExtensionOrAppByURL(url);
+ const Extension* extension = extensions::ExtensionRegistry::Get(
+ profile)->enabled_extensions().GetExtensionOrAppByURL(url);
DCHECK(extension);
// The base class defaults to enabling WebUI bindings, but we don't need
@@ -407,14 +405,8 @@ void ExtensionWebUI::GetFaviconForURL(
Profile* profile,
const GURL& page_url,
const favicon_base::FaviconResultsCallback& callback) {
- // Even when the extensions service is enabled by default, it's still
- // disabled in incognito mode.
- ExtensionService* service = profile->GetExtensionService();
- if (!service) {
- RunFaviconCallbackAsync(callback, gfx::Image());
- return;
- }
- const Extension* extension = service->extensions()->GetByID(page_url.host());
+ const Extension* extension = extensions::ExtensionRegistry::Get(
+ profile)->enabled_extensions().GetByID(page_url.host());
if (!extension) {
RunFaviconCallbackAsync(callback, gfx::Image());
return;
diff --git a/chrome/browser/extensions/extension_web_ui_unittest.cc b/chrome/browser/extensions/extension_web_ui_unittest.cc
index 9596fc6..7d69656 100644
--- a/chrome/browser/extensions/extension_web_ui_unittest.cc
+++ b/chrome/browser/extensions/extension_web_ui_unittest.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/extensions/test_extension_system.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/test/test_browser_thread.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_builder.h"
#include "extensions/common/manifest_constants.h"
@@ -57,18 +58,18 @@ class ExtensionWebUITest : public testing::Test {
// non-component extension url overrides.
TEST_F(ExtensionWebUITest, ExtensionURLOverride) {
// Register a non-component extension.
- extensions::DictionaryBuilder manifest;
+ DictionaryBuilder manifest;
manifest.Set(manifest_keys::kName, "ext1")
.Set(manifest_keys::kVersion, "0.1")
.Set(std::string(manifest_keys::kChromeURLOverrides),
- extensions::DictionaryBuilder().Set("bookmarks", "1.html"));
+ DictionaryBuilder().Set("bookmarks", "1.html"));
scoped_refptr<Extension> ext_unpacked(
- extensions::ExtensionBuilder()
+ ExtensionBuilder()
.SetManifest(manifest)
.SetLocation(Manifest::UNPACKED)
.SetID("abcdefghijabcdefghijabcdefghijaa")
.Build());
- profile_->GetExtensionService()->AddExtension(ext_unpacked.get());
+ extension_service_->AddExtension(ext_unpacked.get());
GURL expected_unpacked_override_url(std::string(ext_unpacked->url().spec()) +
"1.html");
@@ -77,18 +78,18 @@ TEST_F(ExtensionWebUITest, ExtensionURLOverride) {
EXPECT_EQ(url, expected_unpacked_override_url);
// Register a component extension
- extensions::DictionaryBuilder manifest2;
+ DictionaryBuilder manifest2;
manifest2.Set(manifest_keys::kName, "ext2")
.Set(manifest_keys::kVersion, "0.1")
.Set(std::string(manifest_keys::kChromeURLOverrides),
- extensions::DictionaryBuilder().Set("bookmarks", "2.html"));
+ DictionaryBuilder().Set("bookmarks", "2.html"));
scoped_refptr<Extension> ext_component(
- extensions::ExtensionBuilder()
+ ExtensionBuilder()
.SetManifest(manifest2)
.SetLocation(Manifest::COMPONENT)
.SetID("bbabcdefghijabcdefghijabcdefghij")
.Build());
- profile_->GetExtensionService()->AddComponentExtension(ext_component.get());
+ extension_service_->AddComponentExtension(ext_component.get());
// Despite being registered more recently, the component extension should
// not take precedence over the non-component extension.
diff --git a/chrome/browser/extensions/isolated_app_browsertest.cc b/chrome/browser/extensions/isolated_app_browsertest.cc
index 26187c2..ca76039 100644
--- a/chrome/browser/extensions/isolated_app_browsertest.cc
+++ b/chrome/browser/extensions/isolated_app_browsertest.cc
@@ -5,8 +5,6 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.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 "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -18,6 +16,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
#include "extensions/browser/extension_host.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/process_map.h"
#include "extensions/common/switches.h"
#include "net/dns/mock_host_resolver.h"
@@ -28,8 +27,10 @@
using content::ExecuteScript;
using content::ExecuteScriptAndExtractString;
using content::NavigationController;
-using content::WebContents;
using content::RenderViewHost;
+using content::WebContents;
+
+namespace extensions {
namespace {
@@ -107,35 +108,29 @@ class IsolatedAppTest : public ExtensionBrowserTest {
return actual_cookie.find(cookie) != std::string::npos;
}
- const extensions::Extension* GetInstalledApp(WebContents* contents) {
- const extensions::Extension* installed_app = NULL;
- Profile* profile =
- Profile::FromBrowserContext(contents->GetBrowserContext());
- ExtensionService* service = profile->GetExtensionService();
- if (service) {
- std::set<std::string> extension_ids =
- extensions::ProcessMap::Get(profile)->GetExtensionsInProcess(
- contents->GetRenderViewHost()->GetProcess()->GetID());
- for (std::set<std::string>::iterator iter = extension_ids.begin();
- iter != extension_ids.end(); ++iter) {
- installed_app = service->extensions()->GetByID(*iter);
- if (installed_app && installed_app->is_app())
- return installed_app;
- }
+ const Extension* GetInstalledApp(WebContents* contents) {
+ content::BrowserContext* browser_context = contents->GetBrowserContext();
+ ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context);
+ std::set<std::string> extension_ids =
+ ProcessMap::Get(browser_context)->GetExtensionsInProcess(
+ contents->GetRenderViewHost()->GetProcess()->GetID());
+ for (std::set<std::string>::iterator iter = extension_ids.begin();
+ iter != extension_ids.end(); ++iter) {
+ const Extension* installed_app =
+ registry->enabled_extensions().GetByID(*iter);
+ if (installed_app && installed_app->is_app())
+ return installed_app;
}
return NULL;
}
private:
- virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
+ virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE {
ExtensionBrowserTest::SetUpCommandLine(command_line);
- command_line->AppendSwitch(
- extensions::switches::kEnableExperimentalExtensionApis);
+ command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis);
}
};
-} // namespace
-
IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CrossProcessClientRedirect) {
host_resolver()->AddRule("*", "127.0.0.1");
ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
@@ -304,7 +299,6 @@ IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_CookieIsolation) {
EXPECT_TRUE(HasCookie(tab0, "app1=3"));
EXPECT_FALSE(HasCookie(tab0, "app2"));
EXPECT_FALSE(HasCookie(tab0, "normalPage"));
-
}
// This test is disabled due to being flaky. http://crbug.com/145588
@@ -595,3 +589,7 @@ IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_SessionStorage) {
kRetrieveSessionStorage.c_str(), &result));
EXPECT_EQ("ss_normal", result);
}
+
+} // namespace
+
+} // namespace extensions
diff --git a/chrome/browser/extensions/tab_helper.cc b/chrome/browser/extensions/tab_helper.cc
index e6ad1bc..43df23d 100644
--- a/chrome/browser/extensions/tab_helper.cc
+++ b/chrome/browser/extensions/tab_helper.cc
@@ -219,7 +219,7 @@ SkBitmap* TabHelper::GetExtensionAppIcon() {
}
void TabHelper::FinishCreateBookmarkApp(
- const extensions::Extension* extension,
+ const Extension* extension,
const WebApplicationInfo& web_app_info) {
pending_web_app_action_ = NONE;
@@ -370,7 +370,8 @@ void TabHelper::OnDidGetApplicationInfo(int32 page_id,
web_app_info_.title = base::UTF8ToUTF16(web_app_info_.app_url.spec());
bookmark_app_helper_.reset(new BookmarkAppHelper(
- profile_->GetExtensionService(), web_app_info_, web_contents()));
+ ExtensionSystem::Get(profile_)->extension_service(),
+ web_app_info_, web_contents()));
bookmark_app_helper_->Create(base::Bind(
&TabHelper::FinishCreateBookmarkApp, base::Unretained(this)));
break;
@@ -499,15 +500,9 @@ const Extension* TabHelper::GetExtension(const std::string& extension_app_id) {
if (extension_app_id.empty())
return NULL;
- Profile* profile =
- Profile::FromBrowserContext(web_contents()->GetBrowserContext());
- ExtensionService* extension_service = profile->GetExtensionService();
- if (!extension_service || !extension_service->is_ready())
- return NULL;
-
- const Extension* extension =
- extension_service->GetExtensionById(extension_app_id, false);
- return extension;
+ content::BrowserContext* context = web_contents()->GetBrowserContext();
+ return ExtensionRegistry::Get(context)->enabled_extensions().GetByID(
+ extension_app_id);
}
void TabHelper::UpdateExtensionAppIcon(const Extension* extension) {
@@ -519,7 +514,7 @@ void TabHelper::UpdateExtensionAppIcon(const Extension* extension) {
if (extension) {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
- extensions::ImageLoader* loader = extensions::ImageLoader::Get(profile);
+ ImageLoader* loader = ImageLoader::Get(profile);
loader->LoadImageAsync(
extension,
IconsInfo::GetIconResource(extension,
diff --git a/chrome/browser/extensions/theme_installed_infobar_delegate.cc b/chrome/browser/extensions/theme_installed_infobar_delegate.cc
index e3f5c8c..398dae3 100644
--- a/chrome/browser/extensions/theme_installed_infobar_delegate.cc
+++ b/chrome/browser/extensions/theme_installed_infobar_delegate.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "components/infobars/core/infobar.h"
#include "content/public/browser/notification_source.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
@@ -51,7 +52,8 @@ void ThemeInstalledInfoBarDelegate::Create(
scoped_ptr<infobars::InfoBar> new_infobar(
ConfirmInfoBarDelegate::CreateInfoBar(scoped_ptr<ConfirmInfoBarDelegate>(
new ThemeInstalledInfoBarDelegate(
- profile->GetExtensionService(), theme_service, new_theme,
+ extensions::ExtensionSystem::Get(profile)->extension_service(),
+ theme_service, new_theme,
previous_theme_id, previous_using_system_theme))));
// If there's a previous theme infobar, just replace that instead of adding a
diff --git a/chrome/browser/extensions/user_script_listener.cc b/chrome/browser/extensions/user_script_listener.cc
index 96b94fc..4b3be2a 100644
--- a/chrome/browser/extensions/user_script_listener.cc
+++ b/chrome/browser/extensions/user_script_listener.cc
@@ -6,13 +6,13 @@
#include "base/bind.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/manifest_handlers/content_scripts_handler.h"
#include "content/public/browser/browser_thread.h"
#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 "extensions/common/extension.h"
#include "extensions/common/url_pattern.h"
#include "net/url_request/url_request.h"
@@ -232,10 +232,11 @@ void UserScriptListener::Observe(int type,
return; // no patterns to delete for this extension.
// Clear all our patterns and reregister all the still-loaded extensions.
+ const ExtensionSet& extensions =
+ ExtensionRegistry::Get(profile)->enabled_extensions();
URLPatterns new_patterns;
- ExtensionService* service = profile->GetExtensionService();
- for (ExtensionSet::const_iterator it = service->extensions()->begin();
- it != service->extensions()->end(); ++it) {
+ for (ExtensionSet::const_iterator it = extensions.begin();
+ it != extensions.end(); ++it) {
if (it->get() != unloaded_extension)
CollectURLPatterns(it->get(), &new_patterns);
}
diff --git a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
index d57b066..7dcd1dd 100644
--- a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
@@ -23,6 +23,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
#include "extensions/browser/extension_host.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/extension_builder.h"
#include "extensions/common/value_builder.h"
@@ -62,8 +63,9 @@ IN_PROC_BROWSER_TEST_F(WebstoreStartupInstallerTest, Install) {
RunTest("runTest");
- const extensions::Extension* extension = browser()->profile()->
- GetExtensionService()->GetExtensionById(kTestExtensionId, false);
+ const extensions::Extension* extension =
+ extensions::ExtensionRegistry::Get(
+ browser()->profile())->enabled_extensions().GetByID(kTestExtensionId);
EXPECT_TRUE(extension);
}