summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-08 19:15:21 +0000
committerjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-08 19:15:21 +0000
commit423f1fb38b61b9ecb94f7e64fc20e2a9969aaf95 (patch)
tree8ca74e89e9a59dada913d42ceeea17cdd8b0370d /chrome/browser
parent24ad156eab71b598312f9935e8e2e4a494567119 (diff)
downloadchromium_src-423f1fb38b61b9ecb94f7e64fc20e2a9969aaf95.zip
chromium_src-423f1fb38b61b9ecb94f7e64fc20e2a9969aaf95.tar.gz
chromium_src-423f1fb38b61b9ecb94f7e64fc20e2a9969aaf95.tar.bz2
Move ExtensionProcessManager to src/extensions, part 4
* Move c/b/extensions/extension_process_manager.h to extensions/browser/process_manager.h * Rename ExtensionsProcessManager to ProcessManager * Place it in the "extensions" namespace BUG=313481 TEST=browser_tests, unit_tests R=miket@chromium.org TBR=sky@chromium.org for mechanical header file move affecting chrome/browser/ Review URL: https://codereview.chromium.org/62713003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233956 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/apps/window_controls_browsertest.cc8
-rw-r--r--chrome/browser/automation/automation_provider_observers.cc12
-rw-r--r--chrome/browser/automation/automation_provider_observers.h10
-rw-r--r--chrome/browser/automation/automation_util.cc2
-rw-r--r--chrome/browser/automation/testing_automation_provider.cc14
-rw-r--r--chrome/browser/chrome_content_browser_client.cc6
-rw-r--r--chrome/browser/chromeos/file_manager/file_browser_handlers.cc2
-rw-r--r--chrome/browser/devtools/devtools_sanity_browsertest.cc6
-rw-r--r--chrome/browser/extensions/alert_apitest.cc2
-rw-r--r--chrome/browser/extensions/api/developer_private/developer_private_api.cc2
-rw-r--r--chrome/browser/extensions/api/extension_action/browser_action_apitest.cc2
-rw-r--r--chrome/browser/extensions/api/management/management_browsertest.cc4
-rw-r--r--chrome/browser/extensions/api/messaging/extension_message_port.cc6
-rw-r--r--chrome/browser/extensions/api/messaging/message_service.cc2
-rw-r--r--chrome/browser/extensions/api/runtime/runtime_api.cc2
-rw-r--r--chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc4
-rw-r--r--chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc2
-rw-r--r--chrome/browser/extensions/browsertest_util.cc4
-rw-r--r--chrome/browser/extensions/chrome_notification_observer.cc8
-rw-r--r--chrome/browser/extensions/devtools_util.cc2
-rw-r--r--chrome/browser/extensions/event_router.cc6
-rw-r--r--chrome/browser/extensions/extension_bindings_apitest.cc4
-rw-r--r--chrome/browser/extensions/extension_browsertest.cc10
-rw-r--r--chrome/browser/extensions/extension_browsertest.h13
-rw-r--r--chrome/browser/extensions/extension_crash_recovery_browsertest.cc16
-rw-r--r--chrome/browser/extensions/extension_function_dispatcher.cc2
-rw-r--r--chrome/browser/extensions/extension_host.cc14
-rw-r--r--chrome/browser/extensions/extension_host_factory.cc4
-rw-r--r--chrome/browser/extensions/extension_info_map.cc2
-rw-r--r--chrome/browser/extensions/extension_process_manager.cc853
-rw-r--r--chrome/browser/extensions/extension_process_manager.h221
-rw-r--r--chrome/browser/extensions/extension_service.cc6
-rw-r--r--chrome/browser/extensions/extension_service.h2
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc12
-rw-r--r--chrome/browser/extensions/extension_service_unittest.h2
-rw-r--r--chrome/browser/extensions/extension_system.cc17
-rw-r--r--chrome/browser/extensions/extension_system.h24
-rw-r--r--chrome/browser/extensions/extension_test_notification_observer.cc8
-rw-r--r--chrome/browser/extensions/gpu_browsertest.cc4
-rw-r--r--chrome/browser/extensions/gtalk_extension_browsertest.cc10
-rw-r--r--chrome/browser/extensions/lazy_background_page_apitest.cc26
-rw-r--r--chrome/browser/extensions/notifications_apitest.cc6
-rw-r--r--chrome/browser/extensions/process_management_browsertest.cc8
-rw-r--r--chrome/browser/extensions/process_manager_browsertest.cc (renamed from chrome/browser/extensions/extension_process_manager_browsertest.cc)19
-rw-r--r--chrome/browser/extensions/process_manager_unittest.cc (renamed from chrome/browser/extensions/extension_process_manager_unittest.cc)37
-rw-r--r--chrome/browser/extensions/process_map.h2
-rw-r--r--chrome/browser/extensions/suggest_permission_util.cc4
-rw-r--r--chrome/browser/extensions/test_extension_system.cc17
-rw-r--r--chrome/browser/extensions/test_extension_system.h15
-rw-r--r--chrome/browser/extensions/window_open_apitest.cc2
-rw-r--r--chrome/browser/memory_details.cc2
-rw-r--r--chrome/browser/net/chrome_network_delegate.cc12
-rw-r--r--chrome/browser/policy/policy_browsertest.cc8
-rw-r--r--chrome/browser/renderer_host/chrome_render_message_filter.cc2
-rw-r--r--chrome/browser/speech/extension_api/tts_engine_extension_api.cc4
-rw-r--r--chrome/browser/task_manager/extension_process_resource_provider.cc11
-rw-r--r--chrome/browser/task_manager/task_manager.cc1
-rw-r--r--chrome/browser/translate/translate_manager_browsertest.cc2
-rw-r--r--chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc2
-rw-r--r--chrome/browser/ui/gtk/notifications/balloon_view_gtk.cc2
-rw-r--r--chrome/browser/ui/startup/startup_browser_creator_impl.cc2
-rw-r--r--chrome/browser/ui/views/select_file_dialog_extension.cc3
-rw-r--r--chrome/browser/ui/webui/extensions/extension_settings_handler.cc4
63 files changed, 227 insertions, 1294 deletions
diff --git a/chrome/browser/apps/window_controls_browsertest.cc b/chrome/browser/apps/window_controls_browsertest.cc
index 4d534a8..7da2e46 100644
--- a/chrome/browser/apps/window_controls_browsertest.cc
+++ b/chrome/browser/apps/window_controls_browsertest.cc
@@ -3,12 +3,12 @@
// found in the LICENSE file.
#include "chrome/browser/apps/app_browsertest_util.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/web_contents_view.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/process_manager.h"
class WindowControlsTest : public extensions::PlatformAppBrowserTest {
protected:
@@ -22,7 +22,7 @@ class WindowControlsTest : public extensions::PlatformAppBrowserTest {
content::WebContents* WindowControlsTest::GetWebContentsForExtensionWindow(
const extensions::Extension* extension) {
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profile())->process_manager();
// Lookup render view host for background page.
@@ -32,9 +32,9 @@ content::WebContents* WindowControlsTest::GetWebContentsForExtensionWindow(
extension_host->render_view_host();
// Go through all active views, looking for the first window of the extension
- const ExtensionProcessManager::ViewSet all_views =
+ const extensions::ProcessManager::ViewSet all_views =
process_manager->GetAllViews();
- ExtensionProcessManager::ViewSet::const_iterator it = all_views.begin();
+ extensions::ProcessManager::ViewSet::const_iterator it = all_views.begin();
for (; it != all_views.end(); ++it) {
content::RenderViewHost* host = *it;
diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc
index b6db935..b692a77 100644
--- a/chrome/browser/automation/automation_provider_observers.cc
+++ b/chrome/browser/automation/automation_provider_observers.cc
@@ -32,7 +32,6 @@
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_tab_util.h"
@@ -77,6 +76,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/process_type.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/manifest.h"
#include "extensions/common/view_type.h"
#include "ui/gfx/codec/png_codec.h"
@@ -522,9 +522,9 @@ void TabCountChangeObserver::CheckTabCount() {
delete this;
}
-bool DidExtensionViewsStopLoading(ExtensionProcessManager* manager) {
- ExtensionProcessManager::ViewSet all_views = manager->GetAllViews();
- for (ExtensionProcessManager::ViewSet::const_iterator iter =
+bool DidExtensionViewsStopLoading(extensions::ProcessManager* manager) {
+ extensions::ProcessManager::ViewSet all_views = manager->GetAllViews();
+ for (extensions::ProcessManager::ViewSet::const_iterator iter =
all_views.begin();
iter != all_views.end(); ++iter) {
if ((*iter)->IsLoading())
@@ -591,7 +591,7 @@ void ExtensionUninstallObserver::Observe(
}
ExtensionReadyNotificationObserver::ExtensionReadyNotificationObserver(
- ExtensionProcessManager* manager, ExtensionService* service,
+ extensions::ProcessManager* manager, ExtensionService* service,
AutomationProvider* automation, IPC::Message* reply_message)
: manager_(manager),
service_(service),
@@ -691,7 +691,7 @@ void ExtensionUnloadNotificationObserver::Observe(
}
ExtensionsUpdatedObserver::ExtensionsUpdatedObserver(
- ExtensionProcessManager* manager, AutomationProvider* automation,
+ extensions::ProcessManager* manager, AutomationProvider* automation,
IPC::Message* reply_message)
: manager_(manager), automation_(automation->AsWeakPtr()),
reply_message_(reply_message), updater_finished_(false) {
diff --git a/chrome/browser/automation/automation_provider_observers.h b/chrome/browser/automation/automation_provider_observers.h
index f7dd78b..03b7808 100644
--- a/chrome/browser/automation/automation_provider_observers.h
+++ b/chrome/browser/automation/automation_provider_observers.h
@@ -53,7 +53,6 @@
class AutomationProvider;
class BalloonCollection;
class Browser;
-class ExtensionProcessManager;
class ExtensionService;
class Notification;
class Profile;
@@ -78,6 +77,7 @@ class WebContents;
namespace extensions {
class Extension;
+class ProcessManager;
}
namespace history {
@@ -347,7 +347,7 @@ class ExtensionReadyNotificationObserver
: public content::NotificationObserver {
public:
// Creates an observer that replies using the JSON automation interface.
- ExtensionReadyNotificationObserver(ExtensionProcessManager* manager,
+ ExtensionReadyNotificationObserver(extensions::ProcessManager* manager,
ExtensionService* service,
AutomationProvider* automation,
IPC::Message* reply_message);
@@ -362,7 +362,7 @@ class ExtensionReadyNotificationObserver
void Init();
content::NotificationRegistrar registrar_;
- ExtensionProcessManager* manager_;
+ extensions::ProcessManager* manager_;
ExtensionService* service_;
base::WeakPtr<AutomationProvider> automation_;
scoped_ptr<IPC::Message> reply_message_;
@@ -399,7 +399,7 @@ class ExtensionUnloadNotificationObserver
// observer waits until all updated extensions have actually been loaded.
class ExtensionsUpdatedObserver : public content::NotificationObserver {
public:
- ExtensionsUpdatedObserver(ExtensionProcessManager* manager,
+ ExtensionsUpdatedObserver(extensions::ProcessManager* manager,
AutomationProvider* automation,
IPC::Message* reply_message);
virtual ~ExtensionsUpdatedObserver();
@@ -416,7 +416,7 @@ class ExtensionsUpdatedObserver : public content::NotificationObserver {
void MaybeReply();
content::NotificationRegistrar registrar_;
- ExtensionProcessManager* manager_;
+ extensions::ProcessManager* manager_;
base::WeakPtr<AutomationProvider> automation_;
scoped_ptr<IPC::Message> reply_message_;
bool updater_finished_;
diff --git a/chrome/browser/automation/automation_util.cc b/chrome/browser/automation/automation_util.cc
index 7b42e6c..3d162eb 100644
--- a/chrome/browser/automation/automation_util.cc
+++ b/chrome/browser/automation/automation_util.cc
@@ -17,7 +17,6 @@
#include "base/values.h"
#include "chrome/browser/automation/automation_provider.h"
#include "chrome/browser/automation/automation_provider_json.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
@@ -34,6 +33,7 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "net/cookies/canonical_cookie.h"
#include "net/cookies/cookie_constants.h"
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index 389e86f..b05a8bc 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -54,7 +54,6 @@
#include "chrome/browser/extensions/extension_action.h"
#include "chrome/browser/extensions/extension_action_manager.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_tab_util.h"
@@ -138,6 +137,7 @@
#include "content/public/common/geoposition.h"
#include "content/public/common/ssl_status.h"
#include "content/public/common/webplugininfo.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/permissions/permission_set.h"
#include "extensions/common/url_pattern.h"
@@ -2259,13 +2259,13 @@ void TestingAutomationProvider::GetBrowserInfo(
ProfileManager* profile_manager = g_browser_process->profile_manager();
std::vector<Profile*> profiles(profile_manager->GetLoadedProfiles());
for (size_t i = 0; i < profiles.size(); ++i) {
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profiles[i])->process_manager();
if (!process_manager)
continue;
- const ExtensionProcessManager::ViewSet view_set =
+ const extensions::ProcessManager::ViewSet view_set =
process_manager->GetAllViews();
- for (ExtensionProcessManager::ViewSet::const_iterator jt =
+ for (extensions::ProcessManager::ViewSet::const_iterator jt =
view_set.begin();
jt != view_set.end(); ++jt) {
content::RenderViewHost* render_view_host = *jt;
@@ -3443,7 +3443,7 @@ void TestingAutomationProvider::InstallExtension(
ExtensionService* service = extensions::ExtensionSystem::Get(
browser->profile())->extension_service();
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser->profile())->process_manager();
if (service && manager) {
// The observer will delete itself when done.
@@ -3656,7 +3656,7 @@ void TestingAutomationProvider::SetExtensionStateById(
ExtensionService* service = extensions::ExtensionSystem::Get(
browser->profile())->extension_service();
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser->profile())->process_manager();
if (!service) {
AutomationJSONReply(this, reply_message)
@@ -3887,7 +3887,7 @@ void TestingAutomationProvider::UpdateExtensionsNow(
return;
}
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser->profile())->process_manager();
if (!manager) {
AutomationJSONReply(this, reply_message).SendError(
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index f12cd1e..b994e24 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -36,7 +36,6 @@
#include "chrome/browser/extensions/browser_permissions_policy_delegate.h"
#include "chrome/browser/extensions/extension_host.h"
#include "chrome/browser/extensions/extension_info_map.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_web_ui.h"
@@ -130,6 +129,7 @@
#include "content/public/common/child_process_host.h"
#include "content/public/common/content_descriptors.h"
#include "content/public/common/url_utils.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/constants.h"
#include "extensions/common/switches.h"
@@ -1222,9 +1222,9 @@ bool ChromeContentBrowserClient::ShouldTryToUseExistingProcessHost(
std::vector<Profile*> profiles = g_browser_process->profile_manager()->
GetLoadedProfiles();
for (size_t i = 0; i < profiles.size(); ++i) {
- ExtensionProcessManager* epm =
+ extensions::ProcessManager* epm =
extensions::ExtensionSystem::Get(profiles[i])->process_manager();
- for (ExtensionProcessManager::const_iterator iter =
+ for (extensions::ProcessManager::const_iterator iter =
epm->background_hosts().begin();
iter != epm->background_hosts().end(); ++iter) {
const extensions::ExtensionHost* host = *iter;
diff --git a/chrome/browser/chromeos/file_manager/file_browser_handlers.cc b/chrome/browser/chromeos/file_manager/file_browser_handlers.cc
index 6d7956f..e805607 100644
--- a/chrome/browser/chromeos/file_manager/file_browser_handlers.cc
+++ b/chrome/browser/chromeos/file_manager/file_browser_handlers.cc
@@ -50,7 +50,7 @@ int ExtractProcessFromExtensionId(Profile* profile,
const std::string& extension_id) {
GURL extension_url =
Extension::GetBaseURLFromExtensionId(extension_id);
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(profile)->process_manager();
SiteInstance* site_instance = manager->GetSiteInstanceForURL(extension_url);
diff --git a/chrome/browser/devtools/devtools_sanity_browsertest.cc b/chrome/browser/devtools/devtools_sanity_browsertest.cc
index f7867e9..b609723 100644
--- a/chrome/browser/devtools/devtools_sanity_browsertest.cc
+++ b/chrome/browser/devtools/devtools_sanity_browsertest.cc
@@ -245,11 +245,11 @@ class DevToolsExtensionTest : public DevToolsSanityTest,
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE, timeout.callback(), TestTimeouts::action_timeout());
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->
process_manager();
- ExtensionProcessManager::ViewSet all_views = manager->GetAllViews();
- for (ExtensionProcessManager::ViewSet::const_iterator iter =
+ extensions::ProcessManager::ViewSet all_views = manager->GetAllViews();
+ for (extensions::ProcessManager::ViewSet::const_iterator iter =
all_views.begin();
iter != all_views.end();) {
if (!(*iter)->IsLoading())
diff --git a/chrome/browser/extensions/alert_apitest.cc b/chrome/browser/extensions/alert_apitest.cc
index f91d9b8..8d55c18 100644
--- a/chrome/browser/extensions/alert_apitest.cc
+++ b/chrome/browser/extensions/alert_apitest.cc
@@ -5,7 +5,6 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h"
@@ -13,6 +12,7 @@
#include "chrome/common/extensions/extension.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/render_view_host.h"
+#include "extensions/browser/process_manager.h"
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, AlertBasic) {
ASSERT_TRUE(RunExtensionTest("alert")) << message_;
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 fb46466..3dba5f2 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
@@ -473,7 +473,7 @@ ItemInspectViewList DeveloperPrivateGetItemsInfoFunction::
ItemInspectViewList result;
// Get the extension process's active views.
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
ExtensionSystem::Get(GetProfile())->process_manager();
GetInspectablePagesForExtensionProcess(
extension,
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 7eaae89..5840e05 100644
--- a/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
+++ b/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
@@ -612,7 +612,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DISABLED_CloseBackgroundPage) {
const Extension* extension = GetSingleLoadedExtension();
// There is a background page and a browser action with no badge text.
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
ASSERT_TRUE(manager->GetBackgroundHostForExtension(extension->id()));
ExtensionAction* action = GetBrowserAction(*extension);
diff --git a/chrome/browser/extensions/api/management/management_browsertest.cc b/chrome/browser/extensions/api/management/management_browsertest.cc
index f0036ff..b76c39b 100644
--- a/chrome/browser/extensions/api/management/management_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_browsertest.cc
@@ -46,7 +46,7 @@ class ExtensionManagementTest : public ExtensionBrowserTest {
// Test that the extension's version from the manifest and reported by the
// background page is correct. This is to ensure that the processes are in
// sync with the Extension.
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->
process_manager();
extensions::ExtensionHost* ext_host =
@@ -138,7 +138,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, MAYBE_InstallRequiresConfirm) {
// Tests that disabling and re-enabling an extension works.
IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, DisableEnable) {
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
ExtensionService* service = extensions::ExtensionSystem::Get(
browser()->profile())->extension_service();
diff --git a/chrome/browser/extensions/api/messaging/extension_message_port.cc b/chrome/browser/extensions/api/messaging/extension_message_port.cc
index 9e0ca61..a04237d 100644
--- a/chrome/browser/extensions/api/messaging/extension_message_port.cc
+++ b/chrome/browser/extensions/api/messaging/extension_message_port.cc
@@ -5,12 +5,12 @@
#include "chrome/browser/extensions/api/messaging/extension_message_port.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/background_info.h"
#include "chrome/common/extensions/extension_messages.h"
#include "content/public/browser/render_process_host.h"
+#include "extensions/browser/process_manager.h"
namespace extensions {
@@ -56,7 +56,7 @@ void ExtensionMessagePort::DispatchOnMessage(const Message& message,
void ExtensionMessagePort::IncrementLazyKeepaliveCount() {
Profile* profile =
Profile::FromBrowserContext(process_->GetBrowserContext());
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
ExtensionSystem::Get(profile)->process_manager();
ExtensionHost* host = pm->GetBackgroundHostForExtension(extension_id_);
if (host && BackgroundInfo::HasLazyBackgroundPage(host->extension()))
@@ -70,7 +70,7 @@ void ExtensionMessagePort::IncrementLazyKeepaliveCount() {
void ExtensionMessagePort::DecrementLazyKeepaliveCount() {
Profile* profile =
Profile::FromBrowserContext(process_->GetBrowserContext());
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
ExtensionSystem::Get(profile)->process_manager();
ExtensionHost* host = pm->GetBackgroundHostForExtension(extension_id_);
if (host && host == background_host_ptr_)
diff --git a/chrome/browser/extensions/api/messaging/message_service.cc b/chrome/browser/extensions/api/messaging/message_service.cc
index fb557c3..7cf8190 100644
--- a/chrome/browser/extensions/api/messaging/message_service.cc
+++ b/chrome/browser/extensions/api/messaging/message_service.cc
@@ -17,7 +17,6 @@
#include "chrome/browser/extensions/api/messaging/incognito_connectability.h"
#include "chrome/browser/extensions/api/messaging/native_message_port.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_tab_util.h"
@@ -37,6 +36,7 @@
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/lazy_background_task_queue.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/incognito_info.h"
#include "net/base/completion_callback.h"
diff --git a/chrome/browser/extensions/api/runtime/runtime_api.cc b/chrome/browser/extensions/api/runtime/runtime_api.cc
index 3411a03..21fa8ae0 100644
--- a/chrome/browser/extensions/api/runtime/runtime_api.cc
+++ b/chrome/browser/extensions/api/runtime/runtime_api.cc
@@ -13,7 +13,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/updater/extension_updater.h"
@@ -31,6 +30,7 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "extensions/browser/lazy_background_task_queue.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/error_utils.h"
#include "url/gurl.h"
#include "webkit/browser/fileapi/isolated_context.h"
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc b/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc
index 4268a39..b8bdaf2 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc
@@ -7,11 +7,11 @@
#include "chrome/browser/extensions/extension_action.h"
#include "chrome/browser/extensions/extension_action_manager.h"
#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/lazy_background_page_test_util.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/common/extensions/extension.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/switches.h"
class SystemIndicatorApiTest : public ExtensionApiTest {
@@ -60,7 +60,7 @@ IN_PROC_BROWSER_TEST_F(SystemIndicatorApiTest, SystemIndicator) {
ASSERT_TRUE(extension) << message_;
// Lazy Background Page has been shut down.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
diff --git a/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc b/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc
index f366321..8e67fe6 100644
--- a/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc
+++ b/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc
@@ -10,7 +10,6 @@
#include "chrome/browser/extensions/api/system_storage/storage_api_test_util.h"
#include "chrome/browser/extensions/api/system_storage/storage_info_provider.h"
#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/storage_monitor/storage_info.h"
@@ -19,6 +18,7 @@
#include "chrome/common/extensions/extension.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/process_manager.h"
namespace {
diff --git a/chrome/browser/extensions/browsertest_util.cc b/chrome/browser/extensions/browsertest_util.cc
index 7a09359..b65be05 100644
--- a/chrome/browser/extensions/browsertest_util.cc
+++ b/chrome/browser/extensions/browsertest_util.cc
@@ -5,9 +5,9 @@
#include "chrome/browser/extensions/browsertest_util.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/process_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace extensions {
@@ -16,7 +16,7 @@ namespace browsertest_util {
std::string ExecuteScriptInBackgroundPage(Profile* profile,
const std::string& extension_id,
const std::string& script) {
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(profile)->process_manager();
extensions::ExtensionHost* host =
manager->GetBackgroundHostForExtension(extension_id);
diff --git a/chrome/browser/extensions/chrome_notification_observer.cc b/chrome/browser/extensions/chrome_notification_observer.cc
index 9327e52..af7f796 100644
--- a/chrome/browser/extensions/chrome_notification_observer.cc
+++ b/chrome/browser/extensions/chrome_notification_observer.cc
@@ -6,16 +6,16 @@
#include "base/logging.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "content/public/browser/notification_service.h"
+#include "extensions/browser/process_manager.h"
namespace extensions {
ChromeNotificationObserver::ChromeNotificationObserver() {
- // Notifications for ExtensionProcessManager
+ // Notifications for extensions::ProcessManager
registrar_.Add(this, chrome::NOTIFICATION_BROWSER_WINDOW_READY,
content::NotificationService::AllSources());
}
@@ -29,7 +29,7 @@ void ChromeNotificationObserver::OnBrowserWindowReady(Browser* browser) {
// Inform the process manager for this profile that the window is ready.
// We continue to observe the notification in case browser windows open for
// a related incognito profile or other regular profiles.
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
ExtensionSystem::Get(profile)->process_manager();
if (!manager) // Tests may not have a process manager.
return;
@@ -42,7 +42,7 @@ void ChromeNotificationObserver::OnBrowserWindowReady(Browser* browser) {
// non-incognito window opened.
if (profile->IsOffTheRecord()) {
Profile* original_profile = profile->GetOriginalProfile();
- ExtensionProcessManager* original_manager =
+ extensions::ProcessManager* original_manager =
ExtensionSystem::Get(original_profile)->process_manager();
DCHECK(original_manager);
DCHECK_EQ(original_profile, original_manager->GetBrowserContext());
diff --git a/chrome/browser/extensions/devtools_util.cc b/chrome/browser/extensions/devtools_util.cc
index 987fe9e..5b35dfd 100644
--- a/chrome/browser/extensions/devtools_util.cc
+++ b/chrome/browser/extensions/devtools_util.cc
@@ -6,11 +6,11 @@
#include "chrome/browser/devtools/devtools_window.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/extension.h"
#include "extensions/browser/lazy_background_task_queue.h"
+#include "extensions/browser/process_manager.h"
namespace extensions {
namespace devtools_util {
diff --git a/chrome/browser/extensions/event_router.cc b/chrome/browser/extensions/event_router.cc
index abd05d0..8995bfa 100644
--- a/chrome/browser/extensions/event_router.cc
+++ b/chrome/browser/extensions/event_router.cc
@@ -19,7 +19,6 @@
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/event_names.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_util.h"
@@ -35,6 +34,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
#include "extensions/browser/lazy_background_task_queue.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/extension_api.h"
#include "extensions/common/extension_urls.h"
#include "extensions/common/manifest_handlers/incognito_info.h"
@@ -699,7 +699,7 @@ void EventRouter::IncrementInFlightEvents(Profile* profile,
// Only increment in-flight events if the lazy background page is active,
// because that's the only time we'll get an ACK.
if (BackgroundInfo::HasLazyBackgroundPage(extension)) {
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
ExtensionSystem::Get(profile)->process_manager();
ExtensionHost* host = pm->GetBackgroundHostForExtension(extension->id());
if (host)
@@ -709,7 +709,7 @@ void EventRouter::IncrementInFlightEvents(Profile* profile,
void EventRouter::OnEventAck(Profile* profile,
const std::string& extension_id) {
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
ExtensionSystem::Get(profile)->process_manager();
ExtensionHost* host = pm->GetBackgroundHostForExtension(extension_id);
// The event ACK is routed to the background host, so this should never be
diff --git a/chrome/browser/extensions/extension_bindings_apitest.cc b/chrome/browser/extensions/extension_bindings_apitest.cc
index 2fbaeb8..fb5c114 100644
--- a/chrome/browser/extensions/extension_bindings_apitest.cc
+++ b/chrome/browser/extensions/extension_bindings_apitest.cc
@@ -7,12 +7,12 @@
#include "chrome/browser/extensions/api/permissions/permissions_api.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/process_manager.h"
namespace extensions {
namespace {
@@ -42,7 +42,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, LastError) {
test_data_dir_.AppendASCII("browsertest").AppendASCII("last_error")));
// Get the ExtensionHost that is hosting our background page.
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
extensions::ExtensionHost* host = FindHostWithPath(manager, "/bg.html", 1);
diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
index 7497884..d64b755 100644
--- a/chrome/browser/extensions/extension_browsertest.cc
+++ b/chrome/browser/extensions/extension_browsertest.cc
@@ -557,15 +557,17 @@ void ExtensionBrowserTest::NavigateInRenderer(content::WebContents* contents,
}
extensions::ExtensionHost* ExtensionBrowserTest::FindHostWithPath(
- ExtensionProcessManager* manager,
+ extensions::ProcessManager* manager,
const std::string& path,
int expected_hosts) {
extensions::ExtensionHost* host = NULL;
int num_hosts = 0;
- ExtensionProcessManager::ExtensionHostSet background_hosts =
+ extensions::ProcessManager::ExtensionHostSet background_hosts =
manager->background_hosts();
- for (ExtensionProcessManager::const_iterator iter = background_hosts.begin();
- iter != background_hosts.end(); ++iter) {
+ for (extensions::ProcessManager::const_iterator iter =
+ background_hosts.begin();
+ iter != background_hosts.end();
+ ++iter) {
if ((*iter)->GetURL().path() == path) {
EXPECT_FALSE(host);
host = *iter;
diff --git a/chrome/browser/extensions/extension_browsertest.h b/chrome/browser/extensions/extension_browsertest.h
index ff930ea..d1183cf 100644
--- a/chrome/browser/extensions/extension_browsertest.h
+++ b/chrome/browser/extensions/extension_browsertest.h
@@ -22,11 +22,14 @@
#include "content/public/browser/web_contents.h"
#include "extensions/common/manifest.h"
-class ExtensionProcessManager;
class ExtensionService;
class ExtensionSet;
class Profile;
+namespace extensions {
+class ProcessManager;
+}
+
// Base class for extension browser tests. Provides utilities for loading,
// unloading, and installing extensions.
class ExtensionBrowserTest : virtual public InProcessBrowserTest {
@@ -262,9 +265,11 @@ class ExtensionBrowserTest : virtual public InProcessBrowserTest {
// Looks for an ExtensionHost whose URL has the given path component
// (including leading slash). Also verifies that the expected number of hosts
// are loaded.
- extensions::ExtensionHost* FindHostWithPath(ExtensionProcessManager* manager,
- const std::string& path,
- int expected_hosts);
+ extensions::ExtensionHost* FindHostWithPath(
+ extensions::ProcessManager* manager,
+ const std::string& path,
+ int expected_hosts);
+
// Returns
// extensions::browsertest_util::ExecuteScriptInBackgroundPage(profile(),
// extension_id, script).
diff --git a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
index 4ee676a..f5eac57 100644
--- a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
+++ b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
@@ -5,7 +5,6 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/notifications/balloon.h"
@@ -24,6 +23,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/result_codes.h"
+#include "extensions/browser/process_manager.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/message_center_switches.h"
#include "ui/message_center/message_center_util.h"
@@ -51,7 +51,7 @@ class ExtensionCrashRecoveryTestBase : public ExtensionBrowserTest {
return browser()->profile()->GetExtensionService();
}
- ExtensionProcessManager* GetExtensionProcessManager() {
+ extensions::ProcessManager* GetProcessManager() {
return extensions::ExtensionSystem::Get(browser()->profile())->
process_manager();
}
@@ -60,14 +60,14 @@ class ExtensionCrashRecoveryTestBase : public ExtensionBrowserTest {
const Extension* extension =
GetExtensionService()->GetExtensionById(extension_id, false);
ASSERT_TRUE(extension);
- extensions::ExtensionHost* extension_host = GetExtensionProcessManager()->
+ extensions::ExtensionHost* extension_host = GetProcessManager()->
GetBackgroundHostForExtension(extension_id);
ASSERT_TRUE(extension_host);
base::KillProcess(extension_host->render_process_host()->GetHandle(),
content::RESULT_CODE_KILLED, false);
ASSERT_TRUE(WaitForExtensionCrash(extension_id));
- ASSERT_FALSE(GetExtensionProcessManager()->
+ ASSERT_FALSE(GetProcessManager()->
GetBackgroundHostForExtension(extension_id));
// Wait for extension crash balloon to appear.
@@ -78,12 +78,12 @@ class ExtensionCrashRecoveryTestBase : public ExtensionBrowserTest {
const Extension* extension =
GetExtensionService()->extensions()->GetByID(extension_id);
ASSERT_TRUE(extension);
- extensions::ExtensionHost* extension_host = GetExtensionProcessManager()->
+ extensions::ExtensionHost* extension_host = GetProcessManager()->
GetBackgroundHostForExtension(extension_id);
ASSERT_TRUE(extension_host);
- ExtensionProcessManager::ViewSet all_views =
- GetExtensionProcessManager()->GetAllViews();
- ExtensionProcessManager::ViewSet::const_iterator it =
+ extensions::ProcessManager::ViewSet all_views =
+ GetProcessManager()->GetAllViews();
+ extensions::ProcessManager::ViewSet::const_iterator it =
all_views.find(extension_host->host_contents()->GetRenderViewHost());
ASSERT_FALSE(it == all_views.end());
ASSERT_TRUE(extension_host->IsRenderViewLive());
diff --git a/chrome/browser/extensions/extension_function_dispatcher.cc b/chrome/browser/extensions/extension_function_dispatcher.cc
index 9fc3be3..d05bcc8 100644
--- a/chrome/browser/extensions/extension_function_dispatcher.cc
+++ b/chrome/browser/extensions/extension_function_dispatcher.cc
@@ -322,7 +322,7 @@ void ExtensionFunctionDispatcher::DispatchWithCallback(
// TODO(yzshen): There is some shared logic between this method and
// DispatchOnIOThread(). It is nice to deduplicate.
ExtensionService* service = profile()->GetExtensionService();
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profile())->process_manager();
extensions::ProcessMap* process_map = service->process_map();
if (!service || !process_map)
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 4379dcb..77aee96 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/error_console/error_console.h"
#include "chrome/browser/extensions/event_router.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_tab_util.h"
@@ -52,6 +51,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view.h"
#include "extensions/browser/extension_error.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/extension_urls.h"
#include "grit/browser_resources.h"
@@ -480,15 +480,13 @@ void ExtensionHost::CloseContents(WebContents* contents) {
}
void ExtensionHost::WillRunJavaScriptDialog() {
- ExtensionProcessManager* pm =
- ExtensionSystem::Get(profile_)->process_manager();
+ ProcessManager* pm = ExtensionSystem::Get(profile_)->process_manager();
if (pm)
pm->IncrementLazyKeepaliveCount(extension());
}
void ExtensionHost::DidCloseJavaScriptDialog() {
- ExtensionProcessManager* pm =
- ExtensionSystem::Get(profile_)->process_manager();
+ ProcessManager* pm = ExtensionSystem::Get(profile_)->process_manager();
if (pm)
pm->DecrementLazyKeepaliveCount(extension());
}
@@ -573,15 +571,13 @@ void ExtensionHost::OnEventAck() {
}
void ExtensionHost::OnIncrementLazyKeepaliveCount() {
- ExtensionProcessManager* pm =
- ExtensionSystem::Get(profile_)->process_manager();
+ ProcessManager* pm = ExtensionSystem::Get(profile_)->process_manager();
if (pm)
pm->IncrementLazyKeepaliveCount(extension());
}
void ExtensionHost::OnDecrementLazyKeepaliveCount() {
- ExtensionProcessManager* pm =
- ExtensionSystem::Get(profile_)->process_manager();
+ ProcessManager* pm = ExtensionSystem::Get(profile_)->process_manager();
if (pm)
pm->DecrementLazyKeepaliveCount(extension());
}
diff --git a/chrome/browser/extensions/extension_host_factory.cc b/chrome/browser/extensions/extension_host_factory.cc
index 96c86f3..bf464c2 100644
--- a/chrome/browser/extensions/extension_host_factory.cc
+++ b/chrome/browser/extensions/extension_host_factory.cc
@@ -5,13 +5,13 @@
#include "chrome/browser/extensions/extension_host_factory.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/common/url_constants.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/manifest_handlers/incognito_info.h"
#include "extensions/common/view_type.h"
@@ -34,7 +34,7 @@ ExtensionHost* CreateViewHostForExtension(const Extension* extension,
DCHECK(profile);
// A NULL browser may only be given for dialogs.
DCHECK(browser || view_type == VIEW_TYPE_EXTENSION_DIALOG);
- ExtensionProcessManager* pm =
+ ProcessManager* pm =
ExtensionSystem::Get(profile)->process_manager();
content::SiteInstance* site_instance = pm->GetSiteInstanceForURL(url);
ExtensionHost* host =
diff --git a/chrome/browser/extensions/extension_info_map.cc b/chrome/browser/extensions/extension_info_map.cc
index 4d4fb22..26361cf 100644
--- a/chrome/browser/extensions/extension_info_map.cc
+++ b/chrome/browser/extensions/extension_info_map.cc
@@ -90,7 +90,7 @@ base::Time ExtensionInfoMap::GetInstallTime(
bool ExtensionInfoMap::IsIncognitoEnabled(
const std::string& extension_id) const {
- // Keep in sync with duplicate in extension_process_manager.cc.
+ // Keep in sync with duplicate in extensions/browser/process_manager.cc.
ExtraDataMap::const_iterator iter = extra_data_.find(extension_id);
if (iter != extra_data_.end())
return iter->second.incognito_enabled;
diff --git a/chrome/browser/extensions/extension_process_manager.cc b/chrome/browser/extensions/extension_process_manager.cc
deleted file mode 100644
index b11eecf..0000000
--- a/chrome/browser/extensions/extension_process_manager.cc
+++ /dev/null
@@ -1,853 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/extension_process_manager.h"
-
-#include "base/bind.h"
-#include "base/command_line.h"
-#include "base/lazy_instance.h"
-#include "base/logging.h"
-#include "base/message_loop/message_loop.h"
-#include "base/metrics/histogram.h"
-#include "base/stl_util.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/time/time.h"
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/api/runtime/runtime_api.h"
-#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/extension_system.h"
-#include "chrome/browser/extensions/extension_util.h"
-#include "chrome/common/extensions/background_info.h"
-#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_messages.h"
-#include "content/public/browser/browser_context.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_manager.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/site_instance.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "content/public/browser/web_contents_observer.h"
-#include "content/public/browser/web_contents_user_data.h"
-#include "content/public/common/renderer_preferences.h"
-#include "extensions/browser/extensions_browser_client.h"
-#include "extensions/browser/view_type_utils.h"
-#include "extensions/common/manifest_handlers/incognito_info.h"
-#include "extensions/common/switches.h"
-
-#if defined(OS_MACOSX)
-#include "chrome/browser/extensions/extension_host_mac.h"
-#endif
-
-using content::BrowserContext;
-using content::RenderViewHost;
-using content::SiteInstance;
-using content::WebContents;
-using extensions::BackgroundInfo;
-using extensions::BackgroundManifestHandler;
-using extensions::Extension;
-using extensions::ExtensionHost;
-using extensions::ExtensionsBrowserClient;
-using extensions::ExtensionSystem;
-
-class RenderViewHostDestructionObserver;
-DEFINE_WEB_CONTENTS_USER_DATA_KEY(RenderViewHostDestructionObserver);
-
-namespace {
-
-std::string GetExtensionID(RenderViewHost* render_view_host) {
- // This works for both apps and extensions because the site has been
- // normalized to the extension URL for apps.
- if (!render_view_host->GetSiteInstance())
- return std::string();
-
- return render_view_host->GetSiteInstance()->GetSiteURL().host();
-}
-
-void OnRenderViewHostUnregistered(BrowserContext* context,
- RenderViewHost* render_view_host) {
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_EXTENSION_VIEW_UNREGISTERED,
- content::Source<BrowserContext>(context),
- content::Details<RenderViewHost>(render_view_host));
-}
-
-// Incognito profiles use this process manager. It is mostly a shim that decides
-// whether to fall back on the original profile's ExtensionProcessManager based
-// on whether a given extension uses "split" or "spanning" incognito behavior.
-class IncognitoExtensionProcessManager : public ExtensionProcessManager {
- public:
- IncognitoExtensionProcessManager(BrowserContext* incognito_context,
- BrowserContext* original_context);
- virtual ~IncognitoExtensionProcessManager();
- virtual ExtensionHost* CreateBackgroundHost(const Extension* extension,
- const GURL& url) OVERRIDE;
- virtual SiteInstance* GetSiteInstanceForURL(const GURL& url) OVERRIDE;
-
- private:
- // Returns true if the extension is allowed to run in incognito mode.
- bool IsIncognitoEnabled(const Extension* extension);
-
- ExtensionProcessManager* original_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(IncognitoExtensionProcessManager);
-};
-
-static void CreateBackgroundHostForExtensionLoad(
- ExtensionProcessManager* manager, const Extension* extension) {
- DVLOG(1) << "CreateBackgroundHostForExtensionLoad";
- if (BackgroundInfo::HasPersistentBackgroundPage(extension))
- manager->CreateBackgroundHost(extension,
- BackgroundInfo::GetBackgroundURL(extension));
-}
-
-} // namespace
-
-class RenderViewHostDestructionObserver
- : public content::WebContentsObserver,
- public content::WebContentsUserData<RenderViewHostDestructionObserver> {
- public:
- virtual ~RenderViewHostDestructionObserver() {}
-
- private:
- explicit RenderViewHostDestructionObserver(WebContents* web_contents)
- : WebContentsObserver(web_contents) {
- BrowserContext* context = web_contents->GetBrowserContext();
- process_manager_ =
- ExtensionSystem::GetForBrowserContext(context)->process_manager();
- }
-
- friend class content::WebContentsUserData<RenderViewHostDestructionObserver>;
-
- // content::WebContentsObserver overrides.
- virtual void RenderViewDeleted(RenderViewHost* render_view_host) OVERRIDE {
- process_manager_->UnregisterRenderViewHost(render_view_host);
- }
-
- ExtensionProcessManager* process_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(RenderViewHostDestructionObserver);
-};
-
-struct ExtensionProcessManager::BackgroundPageData {
- // The count of things keeping the lazy background page alive.
- int lazy_keepalive_count;
-
- // This is used with the ShouldSuspend message, to ensure that the extension
- // remained idle between sending the message and receiving the ack.
- int close_sequence_id;
-
- // True if the page responded to the ShouldSuspend message and is currently
- // dispatching the suspend event. During this time any events that arrive will
- // cancel the suspend process and an onSuspendCanceled event will be
- // dispatched to the page.
- bool is_closing;
-
- // Keeps track of when this page was last suspended. Used for perf metrics.
- linked_ptr<base::ElapsedTimer> since_suspended;
-
- BackgroundPageData()
- : lazy_keepalive_count(0), close_sequence_id(0), is_closing(false) {}
-};
-
-//
-// ExtensionProcessManager
-//
-
-// static
-ExtensionProcessManager* ExtensionProcessManager::Create(
- BrowserContext* context) {
- if (context->IsOffTheRecord()) {
- BrowserContext* original_context =
- ExtensionsBrowserClient::Get()->GetOriginalContext(context);
- return new IncognitoExtensionProcessManager(context, original_context);
- }
- return new ExtensionProcessManager(context, context);
-}
-
-ExtensionProcessManager::ExtensionProcessManager(
- BrowserContext* context,
- BrowserContext* original_context)
- : site_instance_(SiteInstance::Create(context)),
- defer_background_host_creation_(false),
- startup_background_hosts_created_(false),
- devtools_callback_(base::Bind(
- &ExtensionProcessManager::OnDevToolsStateChanged,
- base::Unretained(this))),
- weak_ptr_factory_(this) {
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSIONS_READY,
- content::Source<BrowserContext>(original_context));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
- content::Source<BrowserContext>(original_context));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
- content::Source<BrowserContext>(original_context));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
- content::Source<BrowserContext>(context));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
- content::Source<BrowserContext>(context));
- registrar_.Add(this, content::NOTIFICATION_RENDER_VIEW_HOST_CHANGED,
- content::NotificationService::AllSources());
- registrar_.Add(this, content::NOTIFICATION_WEB_CONTENTS_CONNECTED,
- content::NotificationService::AllSources());
- registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CREATED,
- content::Source<BrowserContext>(original_context));
- registrar_.Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED,
- content::Source<BrowserContext>(context));
- if (context->IsOffTheRecord()) {
- registrar_.Add(this, chrome::NOTIFICATION_PROFILE_DESTROYED,
- content::Source<BrowserContext>(original_context));
- }
-
- event_page_idle_time_ = base::TimeDelta::FromSeconds(10);
- unsigned idle_time_sec = 0;
- if (base::StringToUint(CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- extensions::switches::kEventPageIdleTime), &idle_time_sec)) {
- event_page_idle_time_ = base::TimeDelta::FromSeconds(idle_time_sec);
- }
- event_page_suspending_time_ = base::TimeDelta::FromSeconds(5);
- unsigned suspending_time_sec = 0;
- if (base::StringToUint(CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- extensions::switches::kEventPageSuspendingTime),
- &suspending_time_sec)) {
- event_page_suspending_time_ =
- base::TimeDelta::FromSeconds(suspending_time_sec);
- }
-
- content::DevToolsManager::GetInstance()->AddAgentStateCallback(
- devtools_callback_);
-}
-
-ExtensionProcessManager::~ExtensionProcessManager() {
- CloseBackgroundHosts();
- DCHECK(background_hosts_.empty());
- content::DevToolsManager::GetInstance()->RemoveAgentStateCallback(
- devtools_callback_);
-}
-
-const ExtensionProcessManager::ViewSet
-ExtensionProcessManager::GetAllViews() const {
- ViewSet result;
- for (ExtensionRenderViews::const_iterator iter =
- all_extension_views_.begin();
- iter != all_extension_views_.end(); ++iter) {
- result.insert(iter->first);
- }
- return result;
-}
-
-ExtensionHost* ExtensionProcessManager::CreateBackgroundHost(
- const Extension* extension, const GURL& url) {
- DVLOG(1) << "CreateBackgroundHost " << url.spec();
- // Hosted apps are taken care of from BackgroundContentsService. Ignore them
- // here.
- if (extension->is_hosted_app())
- return NULL;
-
- // Don't create multiple background hosts for an extension.
- if (ExtensionHost* host = GetBackgroundHostForExtension(extension->id()))
- return host; // TODO(kalman): return NULL here? It might break things...
-
- ExtensionHost* host =
-#if defined(OS_MACOSX)
- new extensions::ExtensionHostMac(
- extension, GetSiteInstanceForURL(url), url,
- extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE);
-#else
- new ExtensionHost(extension, GetSiteInstanceForURL(url), url,
- extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE);
-#endif
-
- host->CreateRenderViewSoon();
- OnBackgroundHostCreated(host);
- return host;
-}
-
-ExtensionHost* ExtensionProcessManager::GetBackgroundHostForExtension(
- const std::string& extension_id) {
- for (ExtensionHostSet::iterator iter = background_hosts_.begin();
- iter != background_hosts_.end(); ++iter) {
- ExtensionHost* host = *iter;
- if (host->extension_id() == extension_id)
- return host;
- }
- return NULL;
-}
-
-std::set<RenderViewHost*>
- ExtensionProcessManager::GetRenderViewHostsForExtension(
- const std::string& extension_id) {
- std::set<RenderViewHost*> result;
-
- SiteInstance* site_instance = GetSiteInstanceForURL(
- Extension::GetBaseURLFromExtensionId(extension_id));
- if (!site_instance)
- return result;
-
- // Gather up all the views for that site.
- for (ExtensionRenderViews::iterator view = all_extension_views_.begin();
- view != all_extension_views_.end(); ++view) {
- if (view->first->GetSiteInstance() == site_instance)
- result.insert(view->first);
- }
-
- return result;
-}
-
-const Extension* ExtensionProcessManager::GetExtensionForRenderViewHost(
- RenderViewHost* render_view_host) {
- if (!render_view_host->GetSiteInstance())
- return NULL;
-
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
- GetBrowserContext())->extension_service();
- if (!service)
- return NULL;
-
- return service->extensions()->GetByID(GetExtensionID(render_view_host));
-}
-
-void ExtensionProcessManager::UnregisterRenderViewHost(
- RenderViewHost* render_view_host) {
- ExtensionRenderViews::iterator view =
- all_extension_views_.find(render_view_host);
- if (view == all_extension_views_.end())
- return;
-
- OnRenderViewHostUnregistered(GetBrowserContext(), render_view_host);
- extensions::ViewType view_type = view->second;
- all_extension_views_.erase(view);
-
- // Keepalive count, balanced in RegisterRenderViewHost.
- if (view_type != extensions::VIEW_TYPE_INVALID &&
- view_type != extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) {
- const Extension* extension = GetExtensionForRenderViewHost(
- render_view_host);
- if (extension)
- DecrementLazyKeepaliveCount(extension);
- }
-}
-
-void ExtensionProcessManager::RegisterRenderViewHost(
- RenderViewHost* render_view_host) {
- const Extension* extension = GetExtensionForRenderViewHost(
- render_view_host);
- if (!extension)
- return;
-
- WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host);
- all_extension_views_[render_view_host] =
- extensions::GetViewType(web_contents);
-
- // Keep the lazy background page alive as long as any non-background-page
- // extension views are visible. Keepalive count balanced in
- // UnregisterRenderViewHost.
- IncrementLazyKeepaliveCountForView(render_view_host);
-}
-
-SiteInstance* ExtensionProcessManager::GetSiteInstanceForURL(const GURL& url) {
- return site_instance_->GetRelatedSiteInstance(url);
-}
-
-bool ExtensionProcessManager::IsBackgroundHostClosing(
- const std::string& extension_id) {
- ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
- return (host && background_page_data_[extension_id].is_closing);
-}
-
-int ExtensionProcessManager::GetLazyKeepaliveCount(const Extension* extension) {
- if (!BackgroundInfo::HasLazyBackgroundPage(extension))
- return 0;
-
- return background_page_data_[extension->id()].lazy_keepalive_count;
-}
-
-int ExtensionProcessManager::IncrementLazyKeepaliveCount(
- const Extension* extension) {
- if (!BackgroundInfo::HasLazyBackgroundPage(extension))
- return 0;
-
- int& count = background_page_data_[extension->id()].lazy_keepalive_count;
- if (++count == 1)
- OnLazyBackgroundPageActive(extension->id());
-
- return count;
-}
-
-int ExtensionProcessManager::DecrementLazyKeepaliveCount(
- const Extension* extension) {
- if (!BackgroundInfo::HasLazyBackgroundPage(extension))
- return 0;
-
- int& count = background_page_data_[extension->id()].lazy_keepalive_count;
- DCHECK_GT(count, 0);
-
- // If we reach a zero keepalive count when the lazy background page is about
- // to be closed, incrementing close_sequence_id will cancel the close
- // sequence and cause the background page to linger. So check is_closing
- // before initiating another close sequence.
- if (--count == 0 && !background_page_data_[extension->id()].is_closing) {
- base::MessageLoop::current()->PostDelayedTask(
- FROM_HERE,
- base::Bind(&ExtensionProcessManager::OnLazyBackgroundPageIdle,
- weak_ptr_factory_.GetWeakPtr(), extension->id(),
- ++background_page_data_[extension->id()].close_sequence_id),
- event_page_idle_time_);
- }
-
- return count;
-}
-
-void ExtensionProcessManager::IncrementLazyKeepaliveCountForView(
- RenderViewHost* render_view_host) {
- WebContents* web_contents =
- WebContents::FromRenderViewHost(render_view_host);
- extensions::ViewType view_type = extensions::GetViewType(web_contents);
- if (view_type != extensions::VIEW_TYPE_INVALID &&
- view_type != extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) {
- const Extension* extension = GetExtensionForRenderViewHost(
- render_view_host);
- if (extension)
- IncrementLazyKeepaliveCount(extension);
- }
-}
-
-void ExtensionProcessManager::OnLazyBackgroundPageIdle(
- const std::string& extension_id, int sequence_id) {
- ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
- if (host && !background_page_data_[extension_id].is_closing &&
- sequence_id == background_page_data_[extension_id].close_sequence_id) {
- // Tell the renderer we are about to close. This is a simple ping that the
- // renderer will respond to. The purpose is to control sequencing: if the
- // extension remains idle until the renderer responds with an ACK, then we
- // know that the extension process is ready to shut down. If our
- // close_sequence_id has already changed, then we would ignore the
- // ShouldSuspendAck, so we don't send the ping.
- host->render_view_host()->Send(new ExtensionMsg_ShouldSuspend(
- extension_id, sequence_id));
- }
-}
-
-void ExtensionProcessManager::OnLazyBackgroundPageActive(
- const std::string& extension_id) {
- ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
- if (host && !background_page_data_[extension_id].is_closing) {
- // Cancel the current close sequence by changing the close_sequence_id,
- // which causes us to ignore the next ShouldSuspendAck.
- ++background_page_data_[extension_id].close_sequence_id;
- }
-}
-
-void ExtensionProcessManager::OnShouldSuspendAck(
- const std::string& extension_id, int sequence_id) {
- ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
- if (host &&
- sequence_id == background_page_data_[extension_id].close_sequence_id) {
- host->render_view_host()->Send(new ExtensionMsg_Suspend(extension_id));
- }
-}
-
-void ExtensionProcessManager::OnSuspendAck(const std::string& extension_id) {
- background_page_data_[extension_id].is_closing = true;
- int sequence_id = background_page_data_[extension_id].close_sequence_id;
- base::MessageLoop::current()->PostDelayedTask(
- FROM_HERE,
- base::Bind(&ExtensionProcessManager::CloseLazyBackgroundPageNow,
- weak_ptr_factory_.GetWeakPtr(), extension_id, sequence_id),
- event_page_suspending_time_);
-}
-
-void ExtensionProcessManager::CloseLazyBackgroundPageNow(
- const std::string& extension_id, int sequence_id) {
- ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
- if (host &&
- sequence_id == background_page_data_[extension_id].close_sequence_id) {
- ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
- if (host)
- CloseBackgroundHost(host);
- }
-}
-
-void ExtensionProcessManager::OnNetworkRequestStarted(
- RenderViewHost* render_view_host) {
- ExtensionHost* host = GetBackgroundHostForExtension(
- GetExtensionID(render_view_host));
- if (host && host->render_view_host() == render_view_host)
- IncrementLazyKeepaliveCount(host->extension());
-}
-
-void ExtensionProcessManager::OnNetworkRequestDone(
- RenderViewHost* render_view_host) {
- ExtensionHost* host = GetBackgroundHostForExtension(
- GetExtensionID(render_view_host));
- if (host && host->render_view_host() == render_view_host)
- DecrementLazyKeepaliveCount(host->extension());
-}
-
-void ExtensionProcessManager::CancelSuspend(const Extension* extension) {
- bool& is_closing = background_page_data_[extension->id()].is_closing;
- ExtensionHost* host = GetBackgroundHostForExtension(extension->id());
- if (host && is_closing) {
- is_closing = false;
- host->render_view_host()->Send(
- new ExtensionMsg_CancelSuspend(extension->id()));
- // This increment / decrement is to simulate an instantaneous event. This
- // has the effect of invalidating close_sequence_id, preventing any in
- // progress closes from completing and starting a new close process if
- // necessary.
- IncrementLazyKeepaliveCount(extension);
- DecrementLazyKeepaliveCount(extension);
- }
-}
-
-void ExtensionProcessManager::DeferBackgroundHostCreation(bool defer) {
- bool previous = defer_background_host_creation_;
- defer_background_host_creation_ = defer;
-
- // If we were deferred, and we switch to non-deferred, then create the
- // background hosts.
- if (previous && !defer_background_host_creation_)
- CreateBackgroundHostsForProfileStartup();
-}
-
-void ExtensionProcessManager::OnBrowserWindowReady() {
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
- GetBrowserContext())->extension_service();
- // On Chrome OS, a login screen is implemented as a browser.
- // This browser has no extension service. In this case,
- // service will be NULL.
- if (!service || !service->is_ready())
- return;
-
- CreateBackgroundHostsForProfileStartup();
-}
-
-content::BrowserContext* ExtensionProcessManager::GetBrowserContext() const {
- return site_instance_->GetBrowserContext();
-}
-
-void ExtensionProcessManager::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- switch (type) {
- case chrome::NOTIFICATION_EXTENSIONS_READY:
- case chrome::NOTIFICATION_PROFILE_CREATED: {
- CreateBackgroundHostsForProfileStartup();
- break;
- }
-
- case chrome::NOTIFICATION_EXTENSION_LOADED: {
- BrowserContext* context = content::Source<BrowserContext>(source).ptr();
- ExtensionService* service =
- ExtensionSystem::GetForBrowserContext(context)->extension_service();
- if (service->is_ready()) {
- const Extension* extension =
- content::Details<const Extension>(details).ptr();
- CreateBackgroundHostForExtensionLoad(this, extension);
- }
- break;
- }
-
- case chrome::NOTIFICATION_EXTENSION_UNLOADED: {
- const Extension* extension =
- content::Details<extensions::UnloadedExtensionInfo>(
- details)->extension;
- for (ExtensionHostSet::iterator iter = background_hosts_.begin();
- iter != background_hosts_.end(); ++iter) {
- ExtensionHost* host = *iter;
- if (host->extension_id() == extension->id()) {
- CloseBackgroundHost(host);
- break;
- }
- }
- UnregisterExtension(extension->id());
- break;
- }
-
- case chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED: {
- ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
- if (background_hosts_.erase(host)) {
- ClearBackgroundPageData(host->extension()->id());
- background_page_data_[host->extension()->id()].since_suspended.reset(
- new base::ElapsedTimer());
- }
- break;
- }
-
- case chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE: {
- ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
- if (host->extension_host_type() ==
- extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) {
- CloseBackgroundHost(host);
- }
- break;
- }
-
- case content::NOTIFICATION_RENDER_VIEW_HOST_CHANGED: {
- // We get this notification both for new WebContents and when one
- // has its RenderViewHost replaced (e.g. when a user does a cross-site
- // navigation away from an extension URL). For the replaced case, we must
- // unregister the old RVH so it doesn't count as an active view that would
- // keep the event page alive.
- WebContents* contents = content::Source<WebContents>(source).ptr();
- if (contents->GetBrowserContext() != GetBrowserContext())
- break;
-
- typedef std::pair<RenderViewHost*, RenderViewHost*> RVHPair;
- RVHPair* switched_details = content::Details<RVHPair>(details).ptr();
- if (switched_details->first)
- UnregisterRenderViewHost(switched_details->first);
-
- // The above will unregister a RVH when it gets swapped out with a new
- // one. However we need to watch the WebContents to know when a RVH is
- // deleted because the WebContents has gone away.
- RenderViewHostDestructionObserver::CreateForWebContents(contents);
- RegisterRenderViewHost(switched_details->second);
- break;
- }
-
- case content::NOTIFICATION_WEB_CONTENTS_CONNECTED: {
- WebContents* contents = content::Source<WebContents>(source).ptr();
- if (contents->GetBrowserContext() != GetBrowserContext())
- break;
- const Extension* extension = GetExtensionForRenderViewHost(
- contents->GetRenderViewHost());
- if (!extension)
- return;
-
- // RegisterRenderViewHost is called too early (before the process is
- // available), so we need to wait until now to notify.
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_EXTENSION_VIEW_REGISTERED,
- content::Source<BrowserContext>(GetBrowserContext()),
- content::Details<RenderViewHost>(contents->GetRenderViewHost()));
- break;
- }
-
- case chrome::NOTIFICATION_PROFILE_DESTROYED: {
- // Close background hosts when the last browser is closed so that they
- // have time to shutdown various objects on different threads. Our
- // destructor is called too late in the shutdown sequence.
- CloseBackgroundHosts();
- break;
- }
-
- default:
- NOTREACHED();
- }
-}
-
-void ExtensionProcessManager::OnDevToolsStateChanged(
- content::DevToolsAgentHost* agent_host, bool attached) {
- RenderViewHost* rvh = agent_host->GetRenderViewHost();
- // Ignore unrelated notifications.
- if (!rvh ||
- rvh->GetSiteInstance()->GetProcess()->GetBrowserContext() !=
- GetBrowserContext())
- return;
- if (extensions::GetViewType(WebContents::FromRenderViewHost(rvh)) !=
- extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE)
- return;
- const Extension* extension = GetExtensionForRenderViewHost(rvh);
- if (!extension)
- return;
- if (attached) {
- // Keep the lazy background page alive while it's being inspected.
- CancelSuspend(extension);
- IncrementLazyKeepaliveCount(extension);
- } else {
- DecrementLazyKeepaliveCount(extension);
- }
-}
-
-void ExtensionProcessManager::CreateBackgroundHostsForProfileStartup() {
- if (startup_background_hosts_created_)
- return;
-
- // Don't load background hosts now if the loading should be deferred.
- // Instead they will be loaded when a browser window for this profile
- // (or an incognito profile from this profile) is ready, or when
- // DeferBackgroundHostCreation is called with false.
- if (DeferLoadingBackgroundHosts())
- return;
-
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
- GetBrowserContext())->extension_service();
- DCHECK(service);
- for (ExtensionSet::const_iterator extension = service->extensions()->begin();
- extension != service->extensions()->end(); ++extension) {
- CreateBackgroundHostForExtensionLoad(this, extension->get());
-
- extensions::RuntimeEventRouter::DispatchOnStartupEvent(
- GetBrowserContext(), (*extension)->id());
- }
- startup_background_hosts_created_ = true;
-
- // Background pages should only be loaded once. To prevent any further loads
- // occurring, we remove the notification listeners.
- BrowserContext* original_context =
- ExtensionsBrowserClient::Get()->GetOriginalContext(GetBrowserContext());
- if (registrar_.IsRegistered(
- this,
- chrome::NOTIFICATION_PROFILE_CREATED,
- content::Source<BrowserContext>(original_context))) {
- registrar_.Remove(this,
- chrome::NOTIFICATION_PROFILE_CREATED,
- content::Source<BrowserContext>(original_context));
- }
- if (registrar_.IsRegistered(
- this,
- chrome::NOTIFICATION_EXTENSIONS_READY,
- content::Source<BrowserContext>(original_context))) {
- registrar_.Remove(this,
- chrome::NOTIFICATION_EXTENSIONS_READY,
- content::Source<BrowserContext>(original_context));
- }
-}
-
-void ExtensionProcessManager::OnBackgroundHostCreated(ExtensionHost* host) {
- DCHECK_EQ(GetBrowserContext(), host->browser_context());
- background_hosts_.insert(host);
-
- if (BackgroundInfo::HasLazyBackgroundPage(host->extension())) {
- linked_ptr<base::ElapsedTimer> since_suspended(
- background_page_data_[host->extension()->id()].
- since_suspended.release());
- if (since_suspended.get()) {
- UMA_HISTOGRAM_LONG_TIMES("Extensions.EventPageIdleTime",
- since_suspended->Elapsed());
- }
- }
-}
-
-void ExtensionProcessManager::CloseBackgroundHost(ExtensionHost* host) {
- CHECK(host->extension_host_type() ==
- extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE);
- delete host;
- // |host| should deregister itself from our structures.
- CHECK(background_hosts_.find(host) == background_hosts_.end());
-}
-
-void ExtensionProcessManager::CloseBackgroundHosts() {
- for (ExtensionHostSet::iterator iter = background_hosts_.begin();
- iter != background_hosts_.end(); ) {
- ExtensionHostSet::iterator current = iter++;
- delete *current;
- }
-}
-
-void ExtensionProcessManager::UnregisterExtension(
- const std::string& extension_id) {
- // The lazy_keepalive_count may be greater than zero at this point because
- // RenderViewHosts are still alive. During extension reloading, they will
- // decrement the lazy_keepalive_count to negative for the new extension
- // instance when they are destroyed. Since we are erasing the background page
- // data for the unloaded extension, unregister the RenderViewHosts too.
- BrowserContext* context = GetBrowserContext();
- for (ExtensionRenderViews::iterator it = all_extension_views_.begin();
- it != all_extension_views_.end(); ) {
- if (GetExtensionID(it->first) == extension_id) {
- OnRenderViewHostUnregistered(context, it->first);
- all_extension_views_.erase(it++);
- } else {
- ++it;
- }
- }
-
- background_page_data_.erase(extension_id);
-}
-
-void ExtensionProcessManager::ClearBackgroundPageData(
- const std::string& extension_id) {
- background_page_data_.erase(extension_id);
-
- // Re-register all RenderViews for this extension. We do this to restore
- // the lazy_keepalive_count (if any) to properly reflect the number of open
- // views.
- for (ExtensionRenderViews::const_iterator it = all_extension_views_.begin();
- it != all_extension_views_.end(); ++it) {
- if (GetExtensionID(it->first) == extension_id)
- IncrementLazyKeepaliveCountForView(it->first);
- }
-}
-
-bool ExtensionProcessManager::DeferLoadingBackgroundHosts() const {
- // Don't load background hosts now if the loading should be deferred.
- if (defer_background_host_creation_)
- return true;
-
- // The extensions embedder may have special rules about background hosts.
- return ExtensionsBrowserClient::Get()->DeferLoadingBackgroundHosts(
- GetBrowserContext());
-}
-
-//
-// IncognitoExtensionProcessManager
-//
-
-IncognitoExtensionProcessManager::IncognitoExtensionProcessManager(
- BrowserContext* incognito_context,
- BrowserContext* original_context)
- : ExtensionProcessManager(incognito_context, original_context),
- original_manager_(extensions::ExtensionSystem::GetForBrowserContext(
- original_context)->process_manager()) {
- DCHECK(incognito_context->IsOffTheRecord());
-
- // The original profile will have its own ExtensionProcessManager to
- // load the background pages of the spanning extensions. This process
- // manager need only worry about the split mode extensions, which is handled
- // in the NOTIFICATION_BROWSER_WINDOW_READY notification handler.
- registrar_.Remove(this, chrome::NOTIFICATION_EXTENSIONS_READY,
- content::Source<BrowserContext>(original_context));
- registrar_.Remove(this, chrome::NOTIFICATION_PROFILE_CREATED,
- content::Source<BrowserContext>(original_context));
-}
-
-IncognitoExtensionProcessManager::~IncognitoExtensionProcessManager() {
- // TODO(yoz): This cleanup code belongs in the MenuManager.
- // Remove "incognito" "split" mode context menu items.
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
- GetBrowserContext())->extension_service();
- if (service)
- service->menu_manager()->RemoveAllIncognitoContextItems();
-}
-
-ExtensionHost* IncognitoExtensionProcessManager::CreateBackgroundHost(
- const Extension* extension, const GURL& url) {
- if (extensions::IncognitoInfo::IsSplitMode(extension)) {
- if (IsIncognitoEnabled(extension))
- return ExtensionProcessManager::CreateBackgroundHost(extension, url);
- } else {
- // Do nothing. If an extension is spanning, then its original-profile
- // background page is shared with incognito, so we don't create another.
- }
- return NULL;
-}
-
-SiteInstance* IncognitoExtensionProcessManager::GetSiteInstanceForURL(
- const GURL& url) {
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
- GetBrowserContext())->extension_service();
- if (service) {
- const Extension* extension =
- service->extensions()->GetExtensionOrAppByURL(url);
- if (extension &&
- !extensions::IncognitoInfo::IsSplitMode(extension)) {
- return original_manager_->GetSiteInstanceForURL(url);
- }
- }
- return ExtensionProcessManager::GetSiteInstanceForURL(url);
-}
-
-bool IncognitoExtensionProcessManager::IsIncognitoEnabled(
- const Extension* extension) {
- // Keep in sync with duplicate in extension_info_map.cc.
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
- GetBrowserContext())->extension_service();
- return extension_util::IsIncognitoEnabled(extension->id(), service);
-}
diff --git a/chrome/browser/extensions/extension_process_manager.h b/chrome/browser/extensions/extension_process_manager.h
deleted file mode 100644
index a2fefb1..0000000
--- a/chrome/browser/extensions/extension_process_manager.h
+++ /dev/null
@@ -1,221 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_
-#define CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_
-
-#include <map>
-#include <set>
-#include <string>
-
-#include "base/callback.h"
-#include "base/compiler_specific.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/weak_ptr.h"
-#include "base/time/time.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-#include "extensions/common/view_type.h"
-
-class GURL;
-
-namespace content {
-class BrowserContext;
-class DevToolsAgentHost;
-class RenderViewHost;
-class SiteInstance;
-};
-
-namespace extensions {
-class Extension;
-class ExtensionHost;
-}
-
-// Manages dynamic state of running Chromium extensions. There is one instance
-// of this class per Profile. OTR Profiles have a separate instance that keeps
-// track of split-mode extensions only.
-class ExtensionProcessManager : public content::NotificationObserver {
- public:
- typedef std::set<extensions::ExtensionHost*> ExtensionHostSet;
- typedef ExtensionHostSet::const_iterator const_iterator;
-
- static ExtensionProcessManager* Create(content::BrowserContext* context);
- virtual ~ExtensionProcessManager();
-
- const ExtensionHostSet& background_hosts() const {
- return background_hosts_;
- }
-
- typedef std::set<content::RenderViewHost*> ViewSet;
- const ViewSet GetAllViews() const;
-
- // Creates a new UI-less extension instance. Like CreateViewHost, but not
- // displayed anywhere.
- virtual extensions::ExtensionHost* CreateBackgroundHost(
- const extensions::Extension* extension,
- const GURL& url);
-
- // Gets the ExtensionHost for the background page for an extension, or NULL if
- // the extension isn't running or doesn't have a background page.
- extensions::ExtensionHost* GetBackgroundHostForExtension(
- const std::string& extension_id);
-
- // Returns the SiteInstance that the given URL belongs to.
- // TODO(aa): This only returns correct results for extensions and packaged
- // apps, not hosted apps.
- virtual content::SiteInstance* GetSiteInstanceForURL(const GURL& url);
-
- // Unregisters a RenderViewHost as hosting any extension.
- void UnregisterRenderViewHost(content::RenderViewHost* render_view_host);
-
- // Returns all RenderViewHosts that are registered for the specified
- // extension.
- std::set<content::RenderViewHost*> GetRenderViewHostsForExtension(
- const std::string& extension_id);
-
- // Returns the extension associated with the specified RenderViewHost, or
- // NULL.
- const extensions::Extension* GetExtensionForRenderViewHost(
- content::RenderViewHost* render_view_host);
-
- // Returns true if the (lazy) background host for the given extension has
- // already been sent the unload event and is shutting down.
- bool IsBackgroundHostClosing(const std::string& extension_id);
-
- // Getter and setter for the lazy background page's keepalive count. This is
- // the count of how many outstanding "things" are keeping the page alive.
- // When this reaches 0, we will begin the process of shutting down the page.
- // "Things" include pending events, resource loads, and API calls.
- int GetLazyKeepaliveCount(const extensions::Extension* extension);
- int IncrementLazyKeepaliveCount(const extensions::Extension* extension);
- int DecrementLazyKeepaliveCount(const extensions::Extension* extension);
-
- void IncrementLazyKeepaliveCountForView(
- content::RenderViewHost* render_view_host);
-
- // Handles a response to the ShouldSuspend message, used for lazy background
- // pages.
- void OnShouldSuspendAck(const std::string& extension_id, int sequence_id);
-
- // Same as above, for the Suspend message.
- void OnSuspendAck(const std::string& extension_id);
-
- // Tracks network requests for a given RenderViewHost, used to know
- // when network activity is idle for lazy background pages.
- void OnNetworkRequestStarted(content::RenderViewHost* render_view_host);
- void OnNetworkRequestDone(content::RenderViewHost* render_view_host);
-
- // Prevents |extension|'s background page from being closed and sends the
- // onSuspendCanceled() event to it.
- void CancelSuspend(const extensions::Extension* extension);
-
- // If |defer| is true background host creation is to be deferred until this is
- // called again with |defer| set to false, at which point all deferred
- // background hosts will be created. Defaults to false.
- void DeferBackgroundHostCreation(bool defer);
-
- // Ensures background hosts are loaded for a new browser window.
- void OnBrowserWindowReady();
-
- // Gets the BrowserContext associated with site_instance_ and all other
- // related SiteInstances.
- content::BrowserContext* GetBrowserContext() const;
-
- protected:
- // If |context| is incognito pass the master context as |original_context|.
- // Otherwise pass the same context for both.
- ExtensionProcessManager(content::BrowserContext* context,
- content::BrowserContext* original_context);
-
- // Called on browser shutdown to close our extension hosts.
- void CloseBackgroundHosts();
-
- // content::NotificationObserver:
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
-
- // Load all background pages once the profile data is ready and the pages
- // should be loaded.
- void CreateBackgroundHostsForProfileStartup();
-
- content::NotificationRegistrar registrar_;
-
- // The set of ExtensionHosts running viewless background extensions.
- ExtensionHostSet background_hosts_;
-
- // A SiteInstance related to the SiteInstance for all extensions in
- // this profile. We create it in such a way that a new
- // browsing instance is created. This controls process grouping.
- scoped_refptr<content::SiteInstance> site_instance_;
-
- private:
- friend class ExtensionProcessManagerTest;
-
- // Extra information we keep for each extension's background page.
- struct BackgroundPageData;
- typedef std::string ExtensionId;
- typedef std::map<ExtensionId, BackgroundPageData> BackgroundPageDataMap;
- typedef std::map<content::RenderViewHost*,
- extensions::ViewType> ExtensionRenderViews;
-
- // Called just after |host| is created so it can be registered in our lists.
- void OnBackgroundHostCreated(extensions::ExtensionHost* host);
-
- // Close the given |host| iff it's a background page.
- void CloseBackgroundHost(extensions::ExtensionHost* host);
-
- // These are called when the extension transitions between idle and active.
- // They control the process of closing the background page when idle.
- void OnLazyBackgroundPageIdle(const std::string& extension_id,
- int sequence_id);
- void OnLazyBackgroundPageActive(const std::string& extension_id);
- void CloseLazyBackgroundPageNow(const std::string& extension_id,
- int sequence_id);
-
- // Potentially registers a RenderViewHost, if it is associated with an
- // extension. Does nothing if this is not an extension renderer.
- void RegisterRenderViewHost(content::RenderViewHost* render_view_host);
-
- // Unregister RenderViewHosts and clear background page data for an extension
- // which has been unloaded.
- void UnregisterExtension(const std::string& extension_id);
-
- // Clears background page data for this extension.
- void ClearBackgroundPageData(const std::string& extension_id);
-
- // Returns true if loading background pages should be deferred.
- bool DeferLoadingBackgroundHosts() const;
-
- void OnDevToolsStateChanged(content::DevToolsAgentHost*, bool attached);
-
- // Contains all active extension-related RenderViewHost instances for all
- // extensions. We also keep a cache of the host's view type, because that
- // information is not accessible at registration/deregistration time.
- ExtensionRenderViews all_extension_views_;
-
- BackgroundPageDataMap background_page_data_;
-
- // The time to delay between an extension becoming idle and
- // sending a ShouldSuspend message; read from command-line switch.
- base::TimeDelta event_page_idle_time_;
-
- // The time to delay between sending a ShouldSuspend message and
- // sending a Suspend message; read from command-line switch.
- base::TimeDelta event_page_suspending_time_;
-
- // If true, then creation of background hosts is suspended.
- bool defer_background_host_creation_;
-
- // True if we have created the startup set of background hosts.
- bool startup_background_hosts_created_;
-
- base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_;
-
- base::WeakPtrFactory<ExtensionProcessManager> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(ExtensionProcessManager);
-};
-
-#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 60520c9..ec17272 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -44,7 +44,6 @@
#include "chrome/browser/extensions/extension_error_ui.h"
#include "chrome/browser/extensions/extension_host.h"
#include "chrome/browser/extensions/extension_install_ui.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_sorting.h"
#include "chrome/browser/extensions/extension_special_storage_policy.h"
#include "chrome/browser/extensions/extension_sync_service.h"
@@ -91,6 +90,7 @@
#include "content/public/browser/site_instance.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/url_data_source.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/constants.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/extensions_client.h"
@@ -690,7 +690,7 @@ void ExtensionService::ReloadExtension(const std::string extension_id) {
// the inspector and hang onto a cookie for it, so that we can reattach
// later.
// TODO(yoz): this is not incognito-safe!
- ExtensionProcessManager* manager = system_->process_manager();
+ extensions::ProcessManager* manager = system_->process_manager();
extensions::ExtensionHost* host =
manager->GetBackgroundHostForExtension(extension_id);
if (host && DevToolsAgentHost::HasFor(host->render_view_host())) {
@@ -2652,7 +2652,7 @@ bool ExtensionService::ShouldEnableOnInstall(const Extension* extension) {
}
bool ExtensionService::IsExtensionIdle(const std::string& extension_id) const {
- ExtensionProcessManager* process_manager = system_->process_manager();
+ extensions::ProcessManager* process_manager = system_->process_manager();
DCHECK(process_manager);
extensions::ExtensionHost* host =
process_manager->GetBackgroundHostForExtension(extension_id);
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index b6c03a5..1d07aee 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -22,7 +22,6 @@
#include "chrome/browser/extensions/extension_function_histogram_value.h"
#include "chrome/browser/extensions/extension_icon_manager.h"
#include "chrome/browser/extensions/extension_prefs.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_sync_service.h"
#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/extensions/external_provider_interface.h"
@@ -39,6 +38,7 @@
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/manifest.h"
#include "extensions/common/one_shot_event.h"
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index ce4aded..e4258f7 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -573,10 +573,10 @@ void ExtensionServiceTestBase::InitializeEmptyExtensionService() {
InitializeExtensionService(CreateDefaultInitParams());
}
-void ExtensionServiceTestBase::InitializeExtensionProcessManager() {
+void ExtensionServiceTestBase::InitializeProcessManager() {
static_cast<extensions::TestExtensionSystem*>(
ExtensionSystem::Get(profile_.get()))->
- CreateExtensionProcessManager();
+ CreateProcessManager();
}
void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() {
@@ -3031,7 +3031,7 @@ TEST_F(ExtensionServiceTest, LoadExtensionsWithPlugins) {
InitPluginService();
InitializeEmptyExtensionService();
- InitializeExtensionProcessManager();
+ InitializeProcessManager();
service_->set_show_extensions_prompts(true);
// Start by canceling any install prompts.
@@ -3986,7 +3986,7 @@ TEST_F(ExtensionServiceTest, ReloadExtensions) {
// Tests reloading an extension.
TEST_F(ExtensionServiceTest, ReloadExtension) {
InitializeEmptyExtensionService();
- InitializeExtensionProcessManager();
+ InitializeProcessManager();
// Simple extension that should install without error.
const char* extension_id = "behllobkkfkfnphdnhnkndlbkcpglgmj";
@@ -5440,7 +5440,7 @@ TEST_F(ExtensionServiceTest, GetSyncDataFilter) {
TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) {
InitializeEmptyExtensionService();
- InitializeExtensionProcessManager();
+ InitializeProcessManager();
InitializeExtensionSyncService();
InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
const Extension* extension = service_->GetInstalledExtension(good_crx);
@@ -5740,7 +5740,7 @@ TEST_F(ExtensionServiceTest, ProcessSyncDataWrongType) {
TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) {
InitializeEmptyExtensionService();
- InitializeExtensionProcessManager();
+ InitializeProcessManager();
InitializeExtensionSyncService();
TestSyncProcessorStub processor;
extension_sync_service_->MergeDataAndStartSyncing(
diff --git a/chrome/browser/extensions/extension_service_unittest.h b/chrome/browser/extensions/extension_service_unittest.h
index f58bdc4..44a1d43 100644
--- a/chrome/browser/extensions/extension_service_unittest.h
+++ b/chrome/browser/extensions/extension_service_unittest.h
@@ -54,7 +54,7 @@ class ExtensionServiceTestBase : public testing::Test {
void InitializeEmptyExtensionService();
- void InitializeExtensionProcessManager();
+ void InitializeProcessManager();
void InitializeExtensionServiceWithUpdater();
diff --git a/chrome/browser/extensions/extension_system.cc b/chrome/browser/extensions/extension_system.cc
index b7099d2..f5a4ae5 100644
--- a/chrome/browser/extensions/extension_system.cc
+++ b/chrome/browser/extensions/extension_system.cc
@@ -21,7 +21,6 @@
#include "chrome/browser/extensions/extension_pref_value_map.h"
#include "chrome/browser/extensions/extension_pref_value_map_factory.h"
#include "chrome/browser/extensions/extension_prefs.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/extensions/extension_util.h"
@@ -43,6 +42,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/url_data_source.h"
#include "extensions/browser/lazy_background_task_queue.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/constants.h"
#include "extensions/common/manifest.h"
@@ -307,7 +307,7 @@ ExtensionSystemImpl::ExtensionSystemImpl(Profile* profile)
shared_ = ExtensionSystemSharedFactory::GetForProfile(profile);
if (profile->IsOffTheRecord()) {
- extension_process_manager_.reset(ExtensionProcessManager::Create(profile));
+ process_manager_.reset(ProcessManager::Create(profile));
} else {
shared_->InitPrefs();
}
@@ -317,7 +317,7 @@ ExtensionSystemImpl::~ExtensionSystemImpl() {
}
void ExtensionSystemImpl::Shutdown() {
- extension_process_manager_.reset();
+ process_manager_.reset();
}
void ExtensionSystemImpl::InitForRegularProfile(
@@ -327,13 +327,12 @@ void ExtensionSystemImpl::InitForRegularProfile(
if (user_script_master() || extension_service())
return; // Already initialized.
- // The ExtensionInfoMap needs to be created before the
- // ExtensionProcessManager.
+ // The ExtensionInfoMap needs to be created before the ProcessManager.
shared_->info_map();
- extension_process_manager_.reset(ExtensionProcessManager::Create(profile_));
+ process_manager_.reset(ProcessManager::Create(profile_));
- extension_process_manager_->DeferBackgroundHostCreation(
+ process_manager_->DeferBackgroundHostCreation(
defer_background_creation);
shared_->Init(extensions_enabled);
@@ -351,8 +350,8 @@ UserScriptMaster* ExtensionSystemImpl::user_script_master() {
return shared_->user_script_master();
}
-ExtensionProcessManager* ExtensionSystemImpl::process_manager() {
- return extension_process_manager_.get();
+ProcessManager* ExtensionSystemImpl::process_manager() {
+ return process_manager_.get();
}
StateStore* ExtensionSystemImpl::state_store() {
diff --git a/chrome/browser/extensions/extension_system.h b/chrome/browser/extensions/extension_system.h
index 663c176..93be7be 100644
--- a/chrome/browser/extensions/extension_system.h
+++ b/chrome/browser/extensions/extension_system.h
@@ -14,7 +14,6 @@
#include "extensions/common/one_shot_event.h"
class ExtensionInfoMap;
-class ExtensionProcessManager;
class ExtensionService;
class Profile;
@@ -39,6 +38,7 @@ class ExtensionWarningService;
class LazyBackgroundTaskQueue;
class ManagementPolicy;
class NavigationObserver;
+class ProcessManager;
class StandardManagementPolicyProvider;
class StateStore;
class UserScriptMaster;
@@ -68,8 +68,8 @@ class ExtensionSystem : public BrowserContextKeyedService {
// Component extensions are always enabled, external and user extensions
// are controlled by |extensions_enabled|. If |defer_background_creation| is
// true, then creation of background extension RenderViews will be deferred
- // until ExtensionProcessManager::DeferBackgroundHostCreation is called with
- // |defer| set to false.
+ // until extensions::ProcessManager::DeferBackgroundHostCreation is called
+ // with |defer| set to false.
virtual void InitForRegularProfile(bool extensions_enabled,
bool defer_background_creation) = 0;
@@ -84,8 +84,8 @@ class ExtensionSystem : public BrowserContextKeyedService {
// The UserScriptMaster is created at startup.
virtual UserScriptMaster* user_script_master() = 0;
- // The ExtensionProcessManager is created at startup.
- virtual ExtensionProcessManager* process_manager() = 0;
+ // The ProcessManager is created at startup.
+ virtual ProcessManager* process_manager() = 0;
// The StateStore is created at startup.
virtual StateStore* state_store() = 0;
@@ -149,7 +149,7 @@ class ExtensionSystemImpl : public ExtensionSystem {
virtual ExtensionService* extension_service() OVERRIDE; // shared
virtual ManagementPolicy* management_policy() OVERRIDE; // shared
virtual UserScriptMaster* user_script_master() OVERRIDE; // shared
- virtual ExtensionProcessManager* process_manager() OVERRIDE;
+ virtual ProcessManager* process_manager() OVERRIDE;
virtual StateStore* state_store() OVERRIDE; // shared
virtual StateStore* rules_store() OVERRIDE; // shared
virtual LazyBackgroundTaskQueue* lazy_background_task_queue()
@@ -221,7 +221,7 @@ class ExtensionSystemImpl : public ExtensionSystem {
// ExtensionService depends on StateStore and Blacklist.
scoped_ptr<ExtensionService> extension_service_;
scoped_ptr<ManagementPolicy> management_policy_;
- // extension_info_map_ needs to outlive extension_process_manager_.
+ // extension_info_map_ needs to outlive process_manager_.
scoped_refptr<ExtensionInfoMap> extension_info_map_;
scoped_ptr<ExtensionWarningService> extension_warning_service_;
scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_;
@@ -239,11 +239,11 @@ class ExtensionSystemImpl : public ExtensionSystem {
Shared* shared_;
- // |extension_process_manager_| must be destroyed before the Profile's
- // |io_data_|. While |extension_process_manager_| still lives, we handle
- // incoming resource requests from extension processes and those require
- // access to the ResourceContext owned by |io_data_|.
- scoped_ptr<ExtensionProcessManager> extension_process_manager_;
+ // |process_manager_| must be destroyed before the Profile's |io_data_|. While
+ // |process_manager_| still lives, we handle incoming resource requests from
+ // extension processes and those require access to the ResourceContext owned
+ // by |io_data_|.
+ scoped_ptr<ProcessManager> process_manager_;
DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl);
};
diff --git a/chrome/browser/extensions/extension_test_notification_observer.cc b/chrome/browser/extensions/extension_test_notification_observer.cc
index f8b7a6d..77c140d 100644
--- a/chrome/browser/extensions/extension_test_notification_observer.cc
+++ b/chrome/browser/extensions/extension_test_notification_observer.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/extensions/extension_test_notification_observer.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -15,6 +14,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/process_manager.h"
using extensions::Extension;
@@ -99,10 +99,10 @@ bool ExtensionTestNotificationObserver::WaitForPageActionVisibilityChangeTo(
}
bool ExtensionTestNotificationObserver::WaitForExtensionViewsToLoad() {
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(GetProfile())->process_manager();
- ExtensionProcessManager::ViewSet all_views = manager->GetAllViews();
- for (ExtensionProcessManager::ViewSet::const_iterator iter =
+ extensions::ProcessManager::ViewSet all_views = manager->GetAllViews();
+ for (extensions::ProcessManager::ViewSet::const_iterator iter =
all_views.begin();
iter != all_views.end();) {
if (!(*iter)->IsLoading()) {
diff --git a/chrome/browser/extensions/gpu_browsertest.cc b/chrome/browser/extensions/gpu_browsertest.cc
index ff34a35..b22722a 100644
--- a/chrome/browser/extensions/gpu_browsertest.cc
+++ b/chrome/browser/extensions/gpu_browsertest.cc
@@ -8,10 +8,10 @@
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/ui/browser.h"
#include "content/public/browser/render_view_host.h"
+#include "extensions/browser/process_manager.h"
#include "webkit/common/webpreferences.h"
// Tests that GPU acceleration is disabled for extension background
@@ -22,7 +22,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WebKitPrefsBackgroundPage) {
.AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj")
.AppendASCII("1.0.0.0")));
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
extensions::ExtensionHost* host =
FindHostWithPath(manager, "/backgroundpage.html", 1);
diff --git a/chrome/browser/extensions/gtalk_extension_browsertest.cc b/chrome/browser/extensions/gtalk_extension_browsertest.cc
index 694765d..b2c720f 100644
--- a/chrome/browser/extensions/gtalk_extension_browsertest.cc
+++ b/chrome/browser/extensions/gtalk_extension_browsertest.cc
@@ -7,7 +7,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
@@ -18,6 +17,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/process_manager.h"
using content::RenderViewHost;
using content::WebContents;
@@ -25,7 +25,7 @@ using extensions::Extension;
class GtalkExtensionTest : public ExtensionBrowserTest {
protected:
- ExtensionProcessManager* GetExtensionProcessManager() {
+ extensions::ProcessManager* GetProcessManager() {
return extensions::ExtensionSystem::Get(browser()->profile())->
process_manager();
}
@@ -54,10 +54,10 @@ class GtalkExtensionTest : public ExtensionBrowserTest {
}
std::vector<RenderViewHost*> GetMatchingViews(std::string url_query) {
- ExtensionProcessManager* manager = GetExtensionProcessManager();
- ExtensionProcessManager::ViewSet all_views = manager->GetAllViews();
+ extensions::ProcessManager* manager = GetProcessManager();
+ extensions::ProcessManager::ViewSet all_views = manager->GetAllViews();
std::vector<RenderViewHost*> matching_views;
- for (ExtensionProcessManager::ViewSet::const_iterator iter =
+ for (extensions::ProcessManager::ViewSet::const_iterator iter =
all_views.begin(); iter != all_views.end(); ++iter) {
WebContents* web_contents = WebContents::FromRenderViewHost(*iter);
std::string url = web_contents->GetURL().spec();
diff --git a/chrome/browser/extensions/lazy_background_page_apitest.cc b/chrome/browser/extensions/lazy_background_page_apitest.cc
index bb99cf1..f526a74 100644
--- a/chrome/browser/extensions/lazy_background_page_apitest.cc
+++ b/chrome/browser/extensions/lazy_background_page_apitest.cc
@@ -104,7 +104,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, BrowserActionCreateTab) {
ASSERT_TRUE(LoadExtensionAndWait("browser_action_create_tab"));
// Lazy Background Page doesn't exist yet.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
int num_tabs_before = browser()->tab_strip_model()->count();
@@ -128,7 +128,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest,
ASSERT_TRUE(LoadExtensionAndWait("browser_action_with_callback"));
// Lazy Background Page doesn't exist yet.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
int num_tabs_before = browser()->tab_strip_model()->count();
@@ -151,7 +151,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, BroadcastEvent) {
ASSERT_TRUE(extension);
// Lazy Background Page doesn't exist yet.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
int num_page_actions = browser()->window()->GetLocationBar()->
@@ -182,7 +182,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, Filters) {
ASSERT_TRUE(extension);
// Lazy Background Page doesn't exist yet.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
@@ -201,7 +201,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, OnInstalled) {
EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
// Lazy Background Page has been shut down.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
}
@@ -224,7 +224,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, WaitForView) {
// Lazy Background Page still exists, because the extension created a new tab
// to an extension page.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_TRUE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
@@ -252,7 +252,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, WaitForRequest) {
EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
// Lazy Background Page still exists, because the extension started a request.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
extensions::ExtensionHost* host =
pm->GetBackgroundHostForExtension(last_loaded_extension_id());
@@ -293,7 +293,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, MAYBE_WaitForNTP) {
// Lazy Background Page still exists, because the extension created a new tab
// to an extension page.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_TRUE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
@@ -329,9 +329,9 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, MAYBE_IncognitoSplitMode) {
}
// Lazy Background Page doesn't exist yet.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
- ExtensionProcessManager* pmi =
+ extensions::ProcessManager* pmi =
extensions::ExtensionSystem::Get(incognito_browser->profile())->
process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
@@ -388,7 +388,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, Messaging) {
ASSERT_TRUE(LoadExtensionAndWait("messaging"));
// Lazy Background Page doesn't exist yet.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
EXPECT_EQ(1, browser()->tab_strip_model()->count());
@@ -420,7 +420,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, OnUnload) {
ASSERT_TRUE(LoadExtensionAndWait("on_unload"));
// Lazy Background Page has been shut down.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
@@ -483,7 +483,7 @@ IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, UpdateExtensionsPage) {
// Lazy Background Page still exists, because the extension created a new tab
// to an extension page.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
EXPECT_TRUE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
diff --git a/chrome/browser/extensions/notifications_apitest.cc b/chrome/browser/extensions/notifications_apitest.cc
index dab664a..b86ffd0 100644
--- a/chrome/browser/extensions/notifications_apitest.cc
+++ b/chrome/browser/extensions/notifications_apitest.cc
@@ -4,13 +4,13 @@
#include "chrome/browser/extensions/extension_apitest.h"
+#include "chrome/browser/extensions/lazy_background_page_test_util.h"
#include "chrome/browser/notifications/desktop_notification_service.h"
#include "chrome/browser/notifications/desktop_notification_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
-#include "chrome/browser/extensions/lazy_background_page_test_util.h"
#include "chrome/common/extensions/extension.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/switches.h"
#include "ui/message_center/message_center_switches.h"
#include "ui/message_center/message_center_util.h"
@@ -77,7 +77,7 @@ IN_PROC_BROWSER_TEST_F(NotificationIdleTest, MAYBE_NotificationsAllowUnload) {
ASSERT_TRUE(extension) << message_;
// Lazy Background Page has been shut down.
- ExtensionProcessManager* pm =
+ extensions::ProcessManager* pm =
extensions::ExtensionSystem::Get(profile())->process_manager();
EXPECT_FALSE(pm->GetBackgroundHostForExtension(last_loaded_extension_id()));
}
diff --git a/chrome/browser/extensions/process_management_browsertest.cc b/chrome/browser/extensions/process_management_browsertest.cc
index e607d26..de2e749 100644
--- a/chrome/browser/extensions/process_management_browsertest.cc
+++ b/chrome/browser/extensions/process_management_browsertest.cc
@@ -5,7 +5,6 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
@@ -18,6 +17,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/switches.h"
#include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
@@ -140,7 +140,7 @@ IN_PROC_BROWSER_TEST_F(ProcessManagementTest, MAYBE_ProcessOverflow) {
browser()->tab_strip_model()->GetWebContentsAt(8)->GetRenderProcessHost();
// Get extension processes.
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(browser()->profile())->
process_manager();
content::RenderProcessHost* extension1_host =
@@ -232,9 +232,9 @@ IN_PROC_BROWSER_TEST_F(ProcessManagementTest, MAYBE_ExtensionProcessBalancing) {
std::set<int> process_ids;
Profile* profile = browser()->profile();
- ExtensionProcessManager* epm = extensions::ExtensionSystem::Get(profile)->
+ extensions::ProcessManager* epm = extensions::ExtensionSystem::Get(profile)->
process_manager();
- for (ExtensionProcessManager::const_iterator iter =
+ for (extensions::ProcessManager::const_iterator iter =
epm->background_hosts().begin();
iter != epm->background_hosts().end(); ++iter) {
process_ids.insert((*iter)->render_process_host()->GetID());
diff --git a/chrome/browser/extensions/extension_process_manager_browsertest.cc b/chrome/browser/extensions/process_manager_browsertest.cc
index b4de778..af7c908 100644
--- a/chrome/browser/extensions/extension_process_manager_browsertest.cc
+++ b/chrome/browser/extensions/process_manager_browsertest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/extensions/extension_process_manager.h"
+#include "extensions/browser/process_manager.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
#include "chrome/browser/extensions/extension_browsertest.h"
@@ -12,19 +12,17 @@
#include "content/public/browser/notification_service.h"
#include "content/public/test/test_utils.h"
-using extensions::Extension;
-using extensions::ExtensionSystem;
+namespace extensions {
// Exists as a browser test because ExtensionHosts are hard to create without
// a real browser.
-typedef ExtensionBrowserTest ExtensionProcessManagerBrowserTest;
+typedef ExtensionBrowserTest ProcessManagerBrowserTest;
// Test that basic extension loading creates the appropriate ExtensionHosts
// and background pages.
-IN_PROC_BROWSER_TEST_F(ExtensionProcessManagerBrowserTest,
+IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest,
ExtensionHostCreation) {
- ExtensionProcessManager* pm =
- ExtensionSystem::Get(profile())->process_manager();
+ ProcessManager* pm = ExtensionSystem::Get(profile())->process_manager();
// We start with no background hosts.
ASSERT_EQ(0u, pm->background_hosts().size());
@@ -63,10 +61,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionProcessManagerBrowserTest,
// background page and that clicking on the action creates the appropriate
// ExtensionHost.
// Disabled due to flake, see http://crbug.com/315242
-IN_PROC_BROWSER_TEST_F(ExtensionProcessManagerBrowserTest,
+IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest,
DISABLED_PopupHostCreation) {
- ExtensionProcessManager* pm =
- ExtensionSystem::Get(profile())->process_manager();
+ ProcessManager* pm = ExtensionSystem::Get(profile())->process_manager();
// Load an extension with the ability to open a popup but no background
// page.
@@ -104,3 +101,5 @@ IN_PROC_BROWSER_TEST_F(ExtensionProcessManagerBrowserTest,
EXPECT_FALSE(pm->IsBackgroundHostClosing(popup->id()));
EXPECT_EQ(0, pm->GetLazyKeepaliveCount(popup.get()));
}
+
+} // namespace extensions
diff --git a/chrome/browser/extensions/extension_process_manager_unittest.cc b/chrome/browser/extensions/process_manager_unittest.cc
index c8ca541..9ad05db 100644
--- a/chrome/browser/extensions/extension_process_manager_unittest.cc
+++ b/chrome/browser/extensions/process_manager_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/extensions/extension_process_manager.h"
+#include "extensions/browser/process_manager.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_error_reporter.h"
@@ -15,8 +15,15 @@
using content::SiteInstance;
+namespace extensions {
+
+// TODO(jamescook): Convert this from TestingProfile to TestBrowserContext and
+// move to extensions/browser. This is dependent on ExtensionPrefs being
+// converted and ExtensionSystem being converted or eliminated.
+// http://crbug.com/315855
+
// make the test a PlatformTest to setup autorelease pools properly on mac
-class ExtensionProcessManagerTest : public testing::Test {
+class ProcessManagerTest : public testing::Test {
public:
static void SetUpTestCase() {
ExtensionErrorReporter::Init(false); // no noisy errors
@@ -28,20 +35,20 @@ class ExtensionProcessManagerTest : public testing::Test {
// Returns true if the notification |type| is registered for |manager| with
// source |profile|. Pass NULL for |profile| for all sources.
- static bool IsRegistered(ExtensionProcessManager* manager,
- int type,
- TestingProfile* profile) {
+ static bool IsRegistered(ProcessManager* manager,
+ int type,
+ TestingProfile* profile) {
return manager->registrar_.IsRegistered(
manager, type, content::Source<Profile>(profile));
}
};
// Test that notification registration works properly.
-TEST_F(ExtensionProcessManagerTest, ExtensionNotificationRegistration) {
+TEST_F(ProcessManagerTest, ExtensionNotificationRegistration) {
// Test for a normal profile.
scoped_ptr<TestingProfile> original_profile(new TestingProfile);
- scoped_ptr<ExtensionProcessManager> manager1(
- ExtensionProcessManager::Create(original_profile.get()));
+ scoped_ptr<ProcessManager> manager1(
+ ProcessManager::Create(original_profile.get()));
EXPECT_EQ(original_profile.get(), manager1->GetBrowserContext());
EXPECT_EQ(0u, manager1->background_hosts().size());
@@ -65,8 +72,8 @@ TEST_F(ExtensionProcessManagerTest, ExtensionNotificationRegistration) {
builder.SetIncognito();
scoped_ptr<TestingProfile> incognito_profile = builder.Build();
incognito_profile->SetOriginalProfile(original_profile.get());
- scoped_ptr<ExtensionProcessManager> manager2(
- ExtensionProcessManager::Create(incognito_profile.get()));
+ scoped_ptr<ProcessManager> manager2(
+ ProcessManager::Create(incognito_profile.get()));
EXPECT_EQ(incognito_profile.get(), manager2->GetBrowserContext());
EXPECT_EQ(0u, manager2->background_hosts().size());
@@ -102,17 +109,15 @@ TEST_F(ExtensionProcessManagerTest, ExtensionNotificationRegistration) {
// Test that extensions get grouped in the right SiteInstance (and therefore
// process) based on their URLs.
-TEST_F(ExtensionProcessManagerTest, ProcessGrouping) {
+TEST_F(ProcessManagerTest, ProcessGrouping) {
// Extensions in different profiles should always be different SiteInstances.
// Note: we don't initialize these, since we're not testing that
// functionality. This means we can get away with a NULL UserScriptMaster.
TestingProfile profile1;
- scoped_ptr<ExtensionProcessManager> manager1(
- ExtensionProcessManager::Create(&profile1));
+ scoped_ptr<ProcessManager> manager1(ProcessManager::Create(&profile1));
TestingProfile profile2;
- scoped_ptr<ExtensionProcessManager> manager2(
- ExtensionProcessManager::Create(&profile2));
+ scoped_ptr<ProcessManager> manager2(ProcessManager::Create(&profile2));
// Extensions with common origins ("scheme://id/") should be grouped in the
// same SiteInstance.
@@ -134,3 +139,5 @@ TEST_F(ExtensionProcessManagerTest, ProcessGrouping) {
manager2->GetSiteInstanceForURL(ext1_url1);
EXPECT_NE(site11, other_profile_site);
}
+
+} // namespace extensions
diff --git a/chrome/browser/extensions/process_map.h b/chrome/browser/extensions/process_map.h
index 73439ad..440e7a9 100644
--- a/chrome/browser/extensions/process_map.h
+++ b/chrome/browser/extensions/process_map.h
@@ -53,7 +53,7 @@ namespace extensions {
// extensions (not hosted apps), and you are on the UI thread, and you don't
// care about incognito version of this extension (or vice versa if you're in
// an incognito profile) then use
-// ExtensionProcessManager::GetSiteInstanceForURL()->[Has|Get]Process().
+// extensions::ProcessManager::GetSiteInstanceForURL()->[Has|Get]Process().
//
// 3. The process ids contained in this class are *not limited* to the Profile
// you got this map from. They can also be associated with that profile's
diff --git a/chrome/browser/extensions/suggest_permission_util.cc b/chrome/browser/extensions/suggest_permission_util.cc
index cd9e1db..7eb1e10 100644
--- a/chrome/browser/extensions/suggest_permission_util.cc
+++ b/chrome/browser/extensions/suggest_permission_util.cc
@@ -4,12 +4,12 @@
#include "chrome/browser/extensions/suggest_permission_util.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_messages.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/common/console_message_level.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/permissions/permissions_info.h"
using content::CONSOLE_MESSAGE_LEVEL_WARNING;
@@ -47,7 +47,7 @@ void SuggestAPIPermissionInDevToolsConsole(APIPermission::ID permission,
void SuggestAPIPermissionInDevToolsConsole(APIPermission::ID permission,
const Extension* extension,
Profile* profile) {
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profile)->process_manager();
std::set<content::RenderViewHost*> views =
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
index a628a9f..e6d448d 100644
--- a/chrome/browser/extensions/test_extension_system.cc
+++ b/chrome/browser/extensions/test_extension_system.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/extensions/extension_pref_value_map_factory.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_prefs_factory.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/management_policy.h"
@@ -25,6 +24,7 @@
#include "chrome/browser/value_store/testing_value_store.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/process_manager.h"
using content::BrowserThread;
@@ -41,16 +41,15 @@ TestExtensionSystem::~TestExtensionSystem() {
}
void TestExtensionSystem::Shutdown() {
- extension_process_manager_.reset();
+ process_manager_.reset();
}
-void TestExtensionSystem::CreateExtensionProcessManager() {
- extension_process_manager_.reset(ExtensionProcessManager::Create(profile_));
+void TestExtensionSystem::CreateProcessManager() {
+ process_manager_.reset(ProcessManager::Create(profile_));
}
-void TestExtensionSystem::SetExtensionProcessManager(
- ExtensionProcessManager* manager) {
- extension_process_manager_.reset(manager);
+void TestExtensionSystem::SetProcessManager(ProcessManager* manager) {
+ process_manager_.reset(manager);
}
ExtensionPrefs* TestExtensionSystem::CreateExtensionPrefs(
@@ -121,8 +120,8 @@ UserScriptMaster* TestExtensionSystem::user_script_master() {
return NULL;
}
-ExtensionProcessManager* TestExtensionSystem::process_manager() {
- return extension_process_manager_.get();
+ProcessManager* TestExtensionSystem::process_manager() {
+ return process_manager_.get();
}
StateStore* TestExtensionSystem::state_store() {
diff --git a/chrome/browser/extensions/test_extension_system.h b/chrome/browser/extensions/test_extension_system.h
index cab117b..7c5cc9a 100644
--- a/chrome/browser/extensions/test_extension_system.h
+++ b/chrome/browser/extensions/test_extension_system.h
@@ -44,13 +44,12 @@ class TestExtensionSystem : public ExtensionSystem {
const base::FilePath& install_directory,
bool autoupdate_enabled);
- // Creates an ExtensionProcessManager. If not invoked, the
- // ExtensionProcessManager is NULL.
- void CreateExtensionProcessManager();
+ // Creates a ProcessManager. If not invoked, the ProcessManager is NULL.
+ void CreateProcessManager();
- // Allows the ExtensionProcessManager to be overriden, for example by a
- // stub implementation. Takes ownership of |manager|.
- void SetExtensionProcessManager(ExtensionProcessManager* manager);
+ // Allows the ProcessManager to be overriden, for example by a stub
+ // implementation. Takes ownership of |manager|.
+ void SetProcessManager(ProcessManager* manager);
void CreateSocketManager();
@@ -60,7 +59,7 @@ class TestExtensionSystem : public ExtensionSystem {
virtual ExtensionService* extension_service() OVERRIDE;
virtual ManagementPolicy* management_policy() OVERRIDE;
virtual UserScriptMaster* user_script_master() OVERRIDE;
- virtual ExtensionProcessManager* process_manager() OVERRIDE;
+ virtual ProcessManager* process_manager() OVERRIDE;
virtual StateStore* state_store() OVERRIDE;
virtual StateStore* rules_store() OVERRIDE;
TestingValueStore* value_store() { return value_store_; }
@@ -92,7 +91,7 @@ class TestExtensionSystem : public ExtensionSystem {
standard_management_policy_provider_;
scoped_ptr<ManagementPolicy> management_policy_;
scoped_ptr<ExtensionService> extension_service_;
- scoped_ptr<ExtensionProcessManager> extension_process_manager_;
+ scoped_ptr<ProcessManager> process_manager_;
scoped_refptr<ExtensionInfoMap> info_map_;
scoped_ptr<ErrorConsole> error_console_;
OneShotEvent ready_;
diff --git a/chrome/browser/extensions/window_open_apitest.cc b/chrome/browser/extensions/window_open_apitest.cc
index 5cee30e..81a9c3f 100644
--- a/chrome/browser/extensions/window_open_apitest.cc
+++ b/chrome/browser/extensions/window_open_apitest.cc
@@ -8,7 +8,6 @@
#include "base/strings/stringprintf.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"
#include "chrome/browser/profiles/profile.h"
@@ -26,6 +25,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/common/result_codes.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/switches.h"
#include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
diff --git a/chrome/browser/memory_details.cc b/chrome/browser/memory_details.cc
index 4002c20..7c6780c 100644
--- a/chrome/browser/memory_details.cc
+++ b/chrome/browser/memory_details.cc
@@ -10,7 +10,6 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/extension.h"
@@ -26,6 +25,7 @@
#include "content/public/browser/render_widget_host_iterator.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/bindings_policy.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
index ffb7959..b5dc439 100644
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -26,7 +26,6 @@
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/browser/extensions/extension_info_map.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/net/chrome_network_data_saving_metrics.h"
@@ -41,6 +40,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_request_info.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/constants.h"
#include "net/base/host_port_pair.h"
#include "net/base/net_errors.h"
@@ -169,7 +169,7 @@ void ForceGoogleSafeSearchCallbackWrapper(
enum RequestStatus { REQUEST_STARTED, REQUEST_DONE };
-// Notifies the ExtensionProcessManager that a request has started or stopped
+// Notifies the extensions::ProcessManager that a request has started or stopped
// for a particular RenderView.
void NotifyEPMRequestStatus(RequestStatus status,
void* profile_id,
@@ -180,10 +180,10 @@ void NotifyEPMRequestStatus(RequestStatus status,
if (!g_browser_process->profile_manager()->IsValidProfile(profile))
return;
- ExtensionProcessManager* extension_process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profile)->process_manager();
// This may be NULL in unit tests.
- if (!extension_process_manager)
+ if (!process_manager)
return;
// Will be NULL if the request was not issued on behalf of a renderer (e.g. a
@@ -192,9 +192,9 @@ void NotifyEPMRequestStatus(RequestStatus status,
RenderViewHost::FromID(process_id, render_view_id);
if (render_view_host) {
if (status == REQUEST_STARTED) {
- extension_process_manager->OnNetworkRequestStarted(render_view_host);
+ process_manager->OnNetworkRequestStarted(render_view_host);
} else if (status == REQUEST_DONE) {
- extension_process_manager->OnNetworkRequestDone(render_view_host);
+ process_manager->OnNetworkRequestDone(render_view_host);
} else {
NOTREACHED();
}
diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc
index 85d113b..89088f1a 100644
--- a/chrome/browser/policy/policy_browsertest.cc
+++ b/chrome/browser/policy/policy_browsertest.cc
@@ -35,7 +35,6 @@
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/unpacked_installer.h"
@@ -114,6 +113,7 @@
#include "content/public/test/test_utils.h"
#include "content/test/net/url_request_failed_job.h"
#include "content/test/net/url_request_mock_http_job.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/constants.h"
#include "grit/generated_resources.h"
#include "net/base/net_errors.h"
@@ -1555,10 +1555,10 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallForcelist) {
// Wait until any background pages belonging to force-installed extensions
// have been loaded.
- ExtensionProcessManager* manager =
+ extensions::ProcessManager* manager =
extensions::ExtensionSystem::Get(browser()->profile())->process_manager();
- ExtensionProcessManager::ViewSet all_views = manager->GetAllViews();
- for (ExtensionProcessManager::ViewSet::const_iterator iter =
+ extensions::ProcessManager::ViewSet all_views = manager->GetAllViews();
+ for (extensions::ProcessManager::ViewSet::const_iterator iter =
all_views.begin();
iter != all_views.end();) {
if (!(*iter)->IsLoading()) {
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
index 37c7f14..da6dbba 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
@@ -23,7 +23,6 @@
#include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h"
#include "chrome/browser/extensions/api/messaging/message_service.h"
#include "chrome/browser/extensions/event_router.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/net/chrome_url_request_context.h"
@@ -39,6 +38,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/resource_dispatcher_host.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/common/constants.h"
#if defined(USE_TCMALLOC)
diff --git a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
index f6c7bce..58e267f 100644
--- a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
+++ b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
@@ -10,7 +10,6 @@
#include "base/values.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
@@ -23,6 +22,7 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/common/console_message_level.h"
+#include "extensions/browser/process_manager.h"
#include "net/base/network_change_notifier.h"
using extensions::EventRouter;
@@ -48,7 +48,7 @@ void WarnIfMissingPauseOrResumeListener(
if (has_onpause == has_onresume)
return;
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
ExtensionSystem::Get(profile)->process_manager();
extensions::ExtensionHost* host =
process_manager->GetBackgroundHostForExtension(extension_id);
diff --git a/chrome/browser/task_manager/extension_process_resource_provider.cc b/chrome/browser/task_manager/extension_process_resource_provider.cc
index 121ae0f..4a0ab96 100644
--- a/chrome/browser/task_manager/extension_process_resource_provider.cc
+++ b/chrome/browser/task_manager/extension_process_resource_provider.cc
@@ -10,7 +10,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/devtools/devtools_window.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -24,6 +23,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "grit/theme_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -150,7 +150,7 @@ void ExtensionProcessResource::SetSupportNetworkUsage() {
const Extension* ExtensionProcessResource::GetExtension() const {
Profile* profile = Profile::FromBrowserContext(
render_view_host_->GetProcess()->GetBrowserContext());
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profile)->process_manager();
return process_manager->GetExtensionForRenderViewHost(render_view_host_);
}
@@ -213,12 +213,13 @@ void ExtensionProcessResourceProvider::StartUpdating() {
}
for (size_t i = 0; i < profiles.size(); ++i) {
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profiles[i])->process_manager();
if (process_manager) {
- const ExtensionProcessManager::ViewSet all_views =
+ const extensions::ProcessManager::ViewSet all_views =
process_manager->GetAllViews();
- ExtensionProcessManager::ViewSet::const_iterator jt = all_views.begin();
+ extensions::ProcessManager::ViewSet::const_iterator jt =
+ all_views.begin();
for (; jt != all_views.end(); ++jt) {
content::RenderViewHost* rvh = *jt;
// Don't add dead extension processes.
diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc
index ca2f8b5..b10876e 100644
--- a/chrome/browser/task_manager/task_manager.cc
+++ b/chrome/browser/task_manager/task_manager.cc
@@ -16,7 +16,6 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/task_manager/background_resource_provider.h"
diff --git a/chrome/browser/translate/translate_manager_browsertest.cc b/chrome/browser/translate/translate_manager_browsertest.cc
index 6317ad5..afffdda 100644
--- a/chrome/browser/translate/translate_manager_browsertest.cc
+++ b/chrome/browser/translate/translate_manager_browsertest.cc
@@ -1331,7 +1331,7 @@ TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
static_cast<TestingProfile*>(web_contents()->GetBrowserContext());
static_cast<extensions::TestExtensionSystem*>(
extensions::ExtensionSystem::Get(test_profile))->
- CreateExtensionProcessManager();
+ CreateProcessManager();
test_profile->ForceIncognito(true);
for (int i = 0; i < 8; ++i) {
SCOPED_TRACE(::testing::Message() << "Iteration " << i <<
diff --git a/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc b/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc
index 5fa4264..16415f7 100644
--- a/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc
+++ b/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc
@@ -8,7 +8,6 @@
#include "ash/launcher/launcher_model.h"
#include "ash/shell.h"
#include "ash/wm/window_util.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/favicon/favicon_tab_helper.h"
#include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item.h"
@@ -25,6 +24,7 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/process_manager.h"
#include "ui/aura/window.h"
#include "ui/events/event.h"
#include "ui/views/corewm/window_animations.h"
diff --git a/chrome/browser/ui/gtk/notifications/balloon_view_gtk.cc b/chrome/browser/ui/gtk/notifications/balloon_view_gtk.cc
index c74bef7..4457382 100644
--- a/chrome/browser/ui/gtk/notifications/balloon_view_gtk.cc
+++ b/chrome/browser/ui/gtk/notifications/balloon_view_gtk.cc
@@ -15,7 +15,6 @@
#include "base/strings/string_util.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/notifications/balloon.h"
#include "chrome/browser/notifications/desktop_notification_service.h"
#include "chrome/browser/notifications/notification.h"
@@ -35,6 +34,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/process_manager.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "ui/base/gtk/gtk_hig_constants.h"
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
index 6761fcb..0d5b9a9 100644
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -418,7 +418,7 @@ bool StartupBrowserCreatorImpl::Launch(Profile* profile,
#if defined(ENABLE_EXTENSIONS)
// If we deferred creation of background extension hosts, we want to create
// them now that the session (if any) has been restored.
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
extensions::ExtensionSystem::Get(profile)->process_manager();
process_manager->DeferBackgroundHostCreation(false);
#endif
diff --git a/chrome/browser/ui/views/select_file_dialog_extension.cc b/chrome/browser/ui/views/select_file_dialog_extension.cc
index 3257bab..67c0bfd 100644
--- a/chrome/browser/ui/views/select_file_dialog_extension.cc
+++ b/chrome/browser/ui/views/select_file_dialog_extension.cc
@@ -163,7 +163,8 @@ void SelectFileDialogExtension::ExtensionTerminated(
// reload the extension at all - when we try to open the extension the next
// time, the extension subsystem would automatically reload it for us. At
// this time though this is broken because of some faulty wiring in
- // ExtensionProcessManager::CreateViewHost. Once that is fixed, remove this.
+ // extensions::ProcessManager::CreateViewHost. Once that is fixed, remove
+ // this.
if (profile_) {
base::MessageLoop::current()->PostTask(
FROM_HERE,
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
index 42a5684..9d4f05d 100644
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
@@ -1077,7 +1077,7 @@ ExtensionSettingsHandler::GetInspectablePagesForExtension(
std::vector<ExtensionPage> result;
// Get the extension process's active views.
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
ExtensionSystem::Get(extension_service_->profile())->process_manager();
GetInspectablePagesForExtensionProcess(
extension,
@@ -1104,7 +1104,7 @@ ExtensionSettingsHandler::GetInspectablePagesForExtension(
// shell windows for incognito processes.
if (extension_service_->profile()->HasOffTheRecordProfile() &&
IncognitoInfo::IsSplitMode(extension)) {
- ExtensionProcessManager* process_manager =
+ extensions::ProcessManager* process_manager =
ExtensionSystem::Get(extension_service_->profile()->
GetOffTheRecordProfile())->process_manager();
GetInspectablePagesForExtensionProcess(