| Index: chrome/browser/extensions/extension_process_manager.cc
|
| diff --git a/chrome/browser/extensions/extension_process_manager.cc b/chrome/browser/extensions/extension_process_manager.cc
|
| index 30fcb4d3dcffbdcce9788182e75f4b5cc7055858..57f6f62b01a9dbc2393fb524073f634a6898d1c3 100644
|
| --- a/chrome/browser/extensions/extension_process_manager.cc
|
| +++ b/chrome/browser/extensions/extension_process_manager.cc
|
| @@ -10,6 +10,7 @@
|
| #include "chrome/browser/extensions/extension_host.h"
|
| #include "chrome/browser/extensions/extension_info_map.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/extension_system.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| @@ -316,6 +317,14 @@ std::set<RenderViewHost*>
|
| return result;
|
| }
|
|
|
| +const Extension* ExtensionProcessManager::GetExtensionForRenderViewHost(
|
| + content::RenderViewHost* render_view_host) {
|
| + ExtensionService* service =
|
| + ExtensionSystem::Get(GetProfile())->extension_service();
|
| + return service->extensions()->GetByID(
|
| + render_view_host->GetSiteInstance()->GetSite().host());
|
| +}
|
| +
|
| void ExtensionProcessManager::RegisterRenderViewHost(
|
| RenderViewHost* render_view_host,
|
| const Extension* extension) {
|
| @@ -369,10 +378,6 @@ SiteInstance* ExtensionProcessManager::GetSiteInstanceForURL(const GURL& url) {
|
| return site_instance_->GetRelatedSiteInstance(url);
|
| }
|
|
|
| -bool ExtensionProcessManager::HasExtensionHost(ExtensionHost* host) const {
|
| - return all_hosts_.find(host) != all_hosts_.end();
|
| -}
|
| -
|
| int ExtensionProcessManager::GetLazyKeepaliveCount(const Extension* extension) {
|
| if (!extension->has_lazy_background_page())
|
| return 0;
|
| @@ -510,7 +515,6 @@ void ExtensionProcessManager::Observe(
|
|
|
| case chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED: {
|
| ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
|
| - all_hosts_.erase(host);
|
| if (background_hosts_.erase(host))
|
| background_page_data_.erase(host->extension()->id());
|
| break;
|
| @@ -583,8 +587,6 @@ Profile* ExtensionProcessManager::GetProfile() const {
|
| void ExtensionProcessManager::OnExtensionHostCreated(ExtensionHost* host,
|
| bool is_background) {
|
| DCHECK_EQ(site_instance_->GetBrowserContext(), host->profile());
|
| -
|
| - all_hosts_.insert(host);
|
| if (is_background)
|
| background_hosts_.insert(host);
|
| }
|
| @@ -620,6 +622,16 @@ IncognitoExtensionProcessManager::IncognitoExtensionProcessManager(
|
| content::NotificationService::AllSources());
|
| }
|
|
|
| +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* IncognitoExtensionProcessManager::CreateViewHost(
|
| const Extension* extension,
|
| const GURL& url,
|
|
|