#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/extension_messages.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents_user_data.h"
#include "content/public/common/renderer_preferences.h"
#include "extensions/browser/extension_registry.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/extension.h"
explicit RenderViewHostDestructionObserver(WebContents* web_contents)
: WebContentsObserver(web_contents) {
BrowserContext* context = web_contents->GetBrowserContext();
- process_manager_ =
- ExtensionSystem::GetForBrowserContext(context)->process_manager();
+ process_manager_ = ExtensionSystem::Get(context)->process_manager();
}
friend class content::WebContentsUserData<RenderViewHostDestructionObserver>;
}
}
-void ProcessManager::RegisterRenderViewHost(RenderViewHost* render_view_host) {
+bool ProcessManager::RegisterRenderViewHost(RenderViewHost* render_view_host) {
const Extension* extension = GetExtensionForRenderViewHost(
render_view_host);
if (!extension)
- return;
+ return false;
WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host);
all_extension_views_[render_view_host] = GetViewType(web_contents);
// extension views are visible. Keepalive count balanced in
// UnregisterRenderViewHost.
IncrementLazyKeepaliveCountForView(render_view_host);
+ return true;
}
SiteInstance* ProcessManager::GetSiteInstanceForURL(const GURL& url) {
}
void ProcessManager::OnBrowserWindowReady() {
- ExtensionService* service = ExtensionSystem::GetForBrowserContext(
+ ExtensionService* service = ExtensionSystem::Get(
GetBrowserContext())->extension_service();
// On Chrome OS, a login screen is implemented as a browser.
// This browser has no extension service. In this case,
case chrome::NOTIFICATION_EXTENSION_LOADED: {
BrowserContext* context = content::Source<BrowserContext>(source).ptr();
- ExtensionSystem* system = ExtensionSystem::GetForBrowserContext(context);
+ ExtensionSystem* system = ExtensionSystem::Get(context);
if (system->ready().is_signaled()) {
// The extension system is ready, so create the background host.
const Extension* extension =
// 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);
+ if (RegisterRenderViewHost(switched_details->second)) {
+ RenderViewHostDestructionObserver::CreateForWebContents(contents);
+ }
break;
}
BrowserContext* incognito_context,
BrowserContext* original_context)
: ProcessManager(incognito_context, original_context),
- original_manager_(ExtensionSystem::GetForBrowserContext(
- original_context)->process_manager()) {
+ original_manager_(
+ ExtensionSystem::Get(original_context)->process_manager()) {
DCHECK(incognito_context->IsOffTheRecord());
// The original profile will have its own ProcessManager to
ExtensionHost* IncognitoProcessManager::CreateBackgroundHost(
const Extension* extension, const GURL& url) {
if (IncognitoInfo::IsSplitMode(extension)) {
- if (util::IsIncognitoEnabled(extension->id(), GetBrowserContext()))
+ if (ExtensionsBrowserClient::Get()->IsExtensionIncognitoEnabled(
+ extension->id(), GetBrowserContext()))
return ProcessManager::CreateBackgroundHost(extension, url);
} else {
// Do nothing. If an extension is spanning, then its original-profile