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 3018ea87a3585d2ae3e1efac5509eed0ac582cc0..57b969bd27cc9c2fd5525811027752790a6d72d0 100644 |
--- a/chrome/browser/extensions/extension_process_manager.cc |
+++ b/chrome/browser/extensions/extension_process_manager.cc |
@@ -85,7 +85,7 @@ ExtensionHost* ExtensionProcessManager::CreateBackgroundHost( |
} |
void ExtensionProcessManager::RegisterExtensionProcess( |
- std::string extension_id, int process_id) { |
+ const std::string& extension_id, int process_id) { |
ProcessIDMap::const_iterator it = process_ids_.find(extension_id); |
if (it != process_ids_.end() && (*it).second == process_id) |
return; |
@@ -117,6 +117,17 @@ void ExtensionProcessManager::UnregisterExtensionProcess(int process_id) { |
} |
} |
+RenderProcessHost* ExtensionProcessManager::GetExtensionProcess( |
+ const std::string& extension_id) { |
+ ProcessIDMap::const_iterator it = process_ids_.find(extension_id); |
+ if (it == process_ids_.end()) |
+ return NULL; |
+ |
+ RenderProcessHost* rph = RenderProcessHost::FromID(it->second); |
+ DCHECK(rph) << "We should have unregistered this host."; |
+ return rph; |
+} |
+ |
SiteInstance* ExtensionProcessManager::GetSiteInstanceForURL(const GURL& url) { |
return browsing_instance_->GetSiteInstanceForURL(url); |
} |