Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(627)

Unified Diff: chrome/browser/extensions/extension_process_manager.cc

Issue 10113005: Remove EPM:all_hosts_ and use all_extension_views_ instead. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Cleanup Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 100059e601498f4e2641b8fea7b1cb9ce85c0d54..22da6599322012c779a42c4380af7cb3edd86c71 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"
@@ -37,6 +38,7 @@ using content::OpenURLParams;
using content::Referrer;
using content::RenderViewHost;
using content::SiteInstance;
+using content::WebContents;
Aaron Boodman 2012/04/20 06:34:56 not needed
benwells 2012/04/23 05:00:26 Done.
namespace {
@@ -316,6 +318,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 +379,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();
-}
-
bool ExtensionProcessManager::IsBackgroundHostClosing(
const std::string& extension_id) {
ExtensionHost* host = GetBackgroundHostForExtension(extension_id);
@@ -511,9 +517,9 @@ 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());
+ platform_app_hosts_.erase(host);
break;
}
@@ -584,10 +590,10 @@ 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);
+ if (host->extension()->is_platform_app())
+ platform_app_hosts_.insert(host);
}
void ExtensionProcessManager::CloseBackgroundHost(ExtensionHost* host) {
@@ -621,6 +627,17 @@ 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,

Powered by Google App Engine
This is Rietveld 408576698