diff options
Diffstat (limited to 'chrome/browser/devtools/devtools_target_impl.cc')
-rw-r--r-- | chrome/browser/devtools/devtools_target_impl.cc | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/chrome/browser/devtools/devtools_target_impl.cc b/chrome/browser/devtools/devtools_target_impl.cc index eb32924..6a867e5 100644 --- a/chrome/browser/devtools/devtools_target_impl.cc +++ b/chrome/browser/devtools/devtools_target_impl.cc @@ -7,7 +7,6 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/devtools/devtools_window.h" -#include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_tab_util.h" #include "chrome/browser/guest_view/guest_view_base.h" #include "chrome/browser/profiles/profile.h" @@ -21,7 +20,9 @@ #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" #include "extensions/browser/extension_host.h" +#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_system.h" +#include "extensions/browser/process_manager.h" #include "extensions/common/constants.h" using content::BrowserThread; @@ -98,33 +99,37 @@ RenderViewHostTarget::RenderViewHostTarget(RenderViewHost* rvh, bool is_tab) if (is_tab) { set_type(kTargetTypePage); tab_id_ = extensions::ExtensionTabUtil::GetTabId(web_contents); - } else { - Profile* profile = - Profile::FromBrowserContext(web_contents->GetBrowserContext()); - if (profile) { - ExtensionService* extension_service = profile->GetExtensionService(); - const extensions::Extension* extension = extension_service-> - extensions()->GetByID(GetURL().host()); - if (extension) { - set_title(extension->name()); - extensions::ExtensionHost* extension_host = - extensions::ExtensionSystem::Get(profile)->process_manager()-> - GetBackgroundHostForExtension(extension->id()); - if (extension_host && - extension_host->host_contents() == web_contents) { - set_type(kTargetTypeBackgroundPage); - extension_id_ = extension->id(); - } else if (extension->is_hosted_app() - || extension->is_legacy_packaged_app() - || extension->is_platform_app()) { - set_type(kTargetTypeApp); - } - set_favicon_url(extensions::ExtensionIconSource::GetIconURL( - extension, extension_misc::EXTENSION_ICON_SMALLISH, - ExtensionIconSet::MATCH_BIGGER, false, NULL)); - } - } + return; + } + + const extensions::Extension* extension = extensions::ExtensionRegistry::Get( + web_contents->GetBrowserContext())->enabled_extensions().GetByID( + GetURL().host()); + if (!extension) + return; + + Profile* profile = + Profile::FromBrowserContext(web_contents->GetBrowserContext()); + if (!profile) + return; + extensions::ExtensionSystem* extension_system = + extensions::ExtensionSystem::Get(profile); + set_title(extension->name()); + extensions::ExtensionHost* extension_host = + extension_system->process_manager()->GetBackgroundHostForExtension( + extension->id()); + if (extension_host && + extension_host->host_contents() == web_contents) { + set_type(kTargetTypeBackgroundPage); + extension_id_ = extension->id(); + } else if (extension->is_hosted_app() + || extension->is_legacy_packaged_app() + || extension->is_platform_app()) { + set_type(kTargetTypeApp); } + set_favicon_url(extensions::ExtensionIconSource::GetIconURL( + extension, extension_misc::EXTENSION_ICON_SMALLISH, + ExtensionIconSet::MATCH_BIGGER, false, NULL)); } bool RenderViewHostTarget::Activate() const { @@ -282,7 +287,7 @@ std::string DevToolsTargetImpl::GetExtensionId() const { return std::string(); } -void DevToolsTargetImpl::Inspect(Profile*) const { +void DevToolsTargetImpl::Inspect(Profile* /*profile*/) const { } void DevToolsTargetImpl::Reload() const { |