summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-23 16:58:56 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-23 16:58:56 +0000
commit77a6970c962882244b57219681acd109acd9f3fc (patch)
treebfdee205ae3fa4e83ce3f605a465f448eb378d2e
parent875862339838ec489d0de577be8b64ce3ba72bd9 (diff)
downloadchromium_src-77a6970c962882244b57219681acd109acd9f3fc.zip
chromium_src-77a6970c962882244b57219681acd109acd9f3fc.tar.gz
chromium_src-77a6970c962882244b57219681acd109acd9f3fc.tar.bz2
Remove extension dependency from BrowserRenderProcessHost.
Review URL: http://codereview.chromium.org/6882089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82796 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/extension_service.cc35
-rw-r--r--chrome/browser/extensions/user_script_master.cc32
-rw-r--r--chrome/browser/extensions/user_script_master.h5
-rw-r--r--chrome/browser/extensions/user_script_master_unittest.cc4
-rw-r--r--chrome/browser/renderer_host/chrome_render_message_filter.cc48
-rw-r--r--chrome/browser/renderer_host/chrome_render_message_filter.h6
-rw-r--r--content/browser/renderer_host/DEPS1
-rw-r--r--content/browser/renderer_host/browser_render_process_host.cc122
-rw-r--r--content/browser/renderer_host/browser_render_process_host.h16
-rw-r--r--content/browser/tab_contents/tab_contents.cc2
10 files changed, 125 insertions, 146 deletions
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 8b7c516..00f1800 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -62,12 +62,14 @@
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_file_util.h"
#include "chrome/common/extensions/extension_l10n_util.h"
+#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/extensions/extension_resource.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "content/browser/browser_thread.h"
#include "content/browser/plugin_process_host.h"
#include "content/browser/plugin_service.h"
+#include "content/browser/renderer_host/render_process_host.h"
#include "content/common/json_value_serializer.h"
#include "content/common/notification_service.h"
#include "content/common/notification_type.h"
@@ -436,6 +438,8 @@ ExtensionService::ExtensionService(Profile* profile,
registrar_.Add(this, NotificationType::EXTENSION_PROCESS_TERMINATED,
NotificationService::AllSources());
+ registrar_.Add(this, NotificationType::RENDERER_PROCESS_CREATED,
+ NotificationService::AllSources());
pref_change_registrar_.Init(profile->GetPrefs());
pref_change_registrar_.Add(prefs::kExtensionInstallAllowList, this);
pref_change_registrar_.Add(prefs::kExtensionInstallDenyList, this);
@@ -1087,6 +1091,12 @@ void ExtensionService::NotifyExtensionLoaded(const Extension* extension) {
Source<Profile>(profile_),
Details<const Extension>(extension));
+ for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
+ !i.IsAtEnd(); i.Advance()) {
+ i.GetCurrentValue()->Send(
+ new ExtensionMsg_Loaded(ExtensionMsg_Loaded_Params(extension)));
+ }
+
bool plugins_changed = false;
for (size_t i = 0; i < extension->plugins().size(); ++i) {
const Extension::PluginInfo& plugin = extension->plugins()[i];
@@ -1121,6 +1131,11 @@ void ExtensionService::NotifyExtensionUnloaded(
Source<Profile>(profile_),
Details<UnloadedExtensionInfo>(&details));
+ for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
+ !i.IsAtEnd(); i.Advance()) {
+ i.GetCurrentValue()->Send(new ExtensionMsg_Unloaded(extension->id()));
+ }
+
if (profile_) {
profile_->UnregisterExtensionWithRequestContexts(extension);
profile_->GetExtensionSpecialStoragePolicy()->
@@ -2028,7 +2043,25 @@ void ExtensionService::Observe(NotificationType type,
UnloadedExtensionInfo::DISABLE));
break;
}
-
+ case NotificationType::RENDERER_PROCESS_CREATED: {
+ RenderProcessHost* process = Source<RenderProcessHost>(source).ptr();
+ // Valid extension function names, used to setup bindings in renderer.
+ std::vector<std::string> function_names;
+ ExtensionFunctionDispatcher::GetAllFunctionNames(&function_names);
+ process->Send(new ExtensionMsg_SetFunctionNames(function_names));
+
+ // Scripting whitelist. This is modified by tests and must be communicated
+ // to renderers.
+ process->Send(new ExtensionMsg_SetScriptingWhitelist(
+ *Extension::GetScriptingWhitelist()));
+
+ // Loaded extensions.
+ for (size_t i = 0; i < extensions_.size(); ++i) {
+ process->Send(new ExtensionMsg_Loaded(
+ ExtensionMsg_Loaded_Params(extensions_[i])));
+ }
+ break;
+ }
case NotificationType::PREF_CHANGED: {
std::string* pref_name = Details<std::string>(details).ptr();
if (*pref_name == prefs::kExtensionInstallAllowList ||
diff --git a/chrome/browser/extensions/user_script_master.cc b/chrome/browser/extensions/user_script_master.cc
index 88903d8..1bbab5d 100644
--- a/chrome/browser/extensions/user_script_master.cc
+++ b/chrome/browser/extensions/user_script_master.cc
@@ -18,8 +18,10 @@
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/extension.h"
+#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/extensions/extension_resource.h"
#include "chrome/common/url_constants.h"
+#include "content/browser/renderer_host/render_process_host.h"
#include "content/common/notification_service.h"
#include "net/base/net_util.h"
@@ -303,6 +305,8 @@ UserScriptMaster::UserScriptMaster(const FilePath& script_dir, Profile* profile)
Source<Profile>(profile_));
registrar_.Add(this, NotificationType::EXTENSION_USER_SCRIPTS_UPDATED,
Source<Profile>(profile_));
+ registrar_.Add(this, NotificationType::RENDERER_PROCESS_CREATED,
+ NotificationService::AllSources());
}
UserScriptMaster::~UserScriptMaster() {
@@ -325,6 +329,11 @@ void UserScriptMaster::NewScriptsAvailable(base::SharedMemory* handle) {
// We've got scripts ready to go.
shared_memory_.swap(handle_deleter);
+ for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
+ !i.IsAtEnd(); i.Advance()) {
+ SendUpdate(i.GetCurrentValue(), handle);
+ }
+
NotificationService::current()->Notify(
NotificationType::USER_SCRIPTS_UPDATED,
Source<Profile>(profile_),
@@ -387,7 +396,12 @@ void UserScriptMaster::Observe(NotificationType type,
StartScan();
break;
}
-
+ case NotificationType::RENDERER_PROCESS_CREATED: {
+ RenderProcessHost* process = Source<RenderProcessHost>(source).ptr();
+ if (ScriptsReady())
+ SendUpdate(process, GetSharedMemory());
+ break;
+ }
default:
DCHECK(false);
}
@@ -399,3 +413,19 @@ void UserScriptMaster::StartScan() {
script_reloader_->StartScan(user_script_dir_, lone_scripts_);
}
+
+void UserScriptMaster::SendUpdate(RenderProcessHost* process,
+ base::SharedMemory* shared_memory) {
+ // If the process is being started asynchronously, early return. We'll end up
+ // calling InitUserScripts when it's created which will call this again.
+ base::ProcessHandle handle = process->GetHandle();
+ if (!handle)
+ return;
+
+ base::SharedMemoryHandle handle_for_process;
+ if (!shared_memory->ShareToProcess(handle, &handle_for_process))
+ return; // This can legitimately fail if the renderer asserts at startup.
+
+ if (base::SharedMemory::IsHandleValid(handle_for_process))
+ process->Send(new ExtensionMsg_UpdateUserScripts(handle_for_process));
+}
diff --git a/chrome/browser/extensions/user_script_master.h b/chrome/browser/extensions/user_script_master.h
index 3b883df..4a21eb0 100644
--- a/chrome/browser/extensions/user_script_master.h
+++ b/chrome/browser/extensions/user_script_master.h
@@ -20,6 +20,7 @@ class StringPiece;
}
class Profile;
+class RenderProcessHost;
// Manages a segment of shared memory that contains the user scripts the user
// has installed. Lives on the UI thread.
@@ -129,6 +130,10 @@ class UserScriptMaster : public base::RefCountedThreadSafe<UserScriptMaster>,
const NotificationSource& source,
const NotificationDetails& details);
+ // Sends the renderer process a new set of user scripts.
+ void SendUpdate(RenderProcessHost* process,
+ base::SharedMemory* shared_memory);
+
// Manages our notification registrations.
NotificationRegistrar registrar_;
diff --git a/chrome/browser/extensions/user_script_master_unittest.cc b/chrome/browser/extensions/user_script_master_unittest.cc
index 14cc21b..30ab5e8 100644
--- a/chrome/browser/extensions/user_script_master_unittest.cc
+++ b/chrome/browser/extensions/user_script_master_unittest.cc
@@ -40,10 +40,13 @@ class UserScriptMasterTest : public testing::Test,
// thread look like one.
file_thread_.reset(new BrowserThread(
BrowserThread::FILE, MessageLoop::current()));
+ ui_thread_.reset(new BrowserThread(
+ BrowserThread::UI, MessageLoop::current()));
}
virtual void TearDown() {
file_thread_.reset();
+ ui_thread_.reset();
}
virtual void Observe(NotificationType type,
@@ -65,6 +68,7 @@ class UserScriptMasterTest : public testing::Test,
MessageLoop message_loop_;
scoped_ptr<BrowserThread> file_thread_;
+ scoped_ptr<BrowserThread> ui_thread_;
// Updated to the script shared memory when we get notified.
base::SharedMemory* shared_memory_;
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
index 67e8286..8094fe5 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
@@ -7,6 +7,7 @@
#include "base/file_path.h"
#include "base/metrics/histogram.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/extensions/extension_event_router.h"
#include "chrome/browser/extensions/extension_message_service.h"
#include "chrome/browser/metrics/histogram_synchronizer.h"
#include "chrome/browser/nacl_host/nacl_process_host.h"
@@ -20,6 +21,7 @@
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/render_messages.h"
+#include "content/browser/renderer_host/render_process_host.h"
#include "content/browser/renderer_host/resource_dispatcher_host.h"
#if defined(USE_TCMALLOC)
@@ -57,6 +59,10 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message,
IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToTab, OnOpenChannelToTab)
IPC_MESSAGE_HANDLER_DELAY_REPLY(ExtensionHostMsg_GetMessageBundle,
OnGetExtensionMessageBundle)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddListener, OnExtensionAddListener)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveListener,
+ OnExtensionRemoveListener)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel, OnExtensionCloseChannel)
#if defined(USE_TCMALLOC)
IPC_MESSAGE_HANDLER(ViewHostMsg_RendererTcmalloc, OnRendererTcmalloc)
#endif
@@ -75,12 +81,18 @@ void ChromeRenderMessageFilter::OnDestruct() const {
void ChromeRenderMessageFilter::OverrideThreadForMessage(
const IPC::Message& message, BrowserThread::ID* thread) {
- if (message.type() == ViewHostMsg_ResourceTypeStats::ID ||
+ switch (message.type()) {
+ case ViewHostMsg_ResourceTypeStats::ID:
#if defined(USE_TCMALLOC)
- message.type() == ViewHostMsg_RendererTcmalloc::ID ||
+ case ViewHostMsg_RendererTcmalloc::ID:
#endif
- message.type() == ViewHostMsg_ResourceTypeStats::ID) {
- *thread = BrowserThread::UI;
+ case ExtensionHostMsg_AddListener::ID:
+ case ExtensionHostMsg_RemoveListener::ID:
+ case ExtensionHostMsg_CloseChannel::ID:
+ *thread = BrowserThread::UI;
+ break;
+ default:
+ break;
}
}
@@ -227,6 +239,34 @@ void ChromeRenderMessageFilter::OnGetExtensionMessageBundleOnFileThread(
Send(reply_msg);
}
+void ChromeRenderMessageFilter::OnExtensionAddListener(
+ const std::string& extension_id,
+ const std::string& event_name) {
+ RenderProcessHost* process = RenderProcessHost::FromID(render_process_id_);
+ if (!profile_->GetExtensionEventRouter() || !process)
+ return;
+
+ profile_->GetExtensionEventRouter()->AddEventListener(
+ event_name, process, extension_id);
+}
+
+void ChromeRenderMessageFilter::OnExtensionRemoveListener(
+ const std::string& extension_id,
+ const std::string& event_name) {
+ RenderProcessHost* process = RenderProcessHost::FromID(render_process_id_);
+ if (!profile_->GetExtensionEventRouter() || !process)
+ return;
+
+ profile_->GetExtensionEventRouter()->RemoveEventListener(
+ event_name, process, extension_id);
+}
+
+void ChromeRenderMessageFilter::OnExtensionCloseChannel(int port_id) {
+ if (profile_->GetExtensionMessageService())
+ profile_->GetExtensionMessageService()->CloseChannel(port_id);
+}
+
+
#if defined(USE_TCMALLOC)
void ChromeRenderMessageFilter::OnRendererTcmalloc(base::ProcessId pid,
const std::string& output) {
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.h b/chrome/browser/renderer_host/chrome_render_message_filter.h
index 25a8ef8..aa06817 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.h
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.h
@@ -64,7 +64,6 @@ class ChromeRenderMessageFilter : public BrowserMessageFilter {
int receiver_port_id,
int tab_id, const std::string& extension_id,
const std::string& channel_name);
-
void OnGetExtensionMessageBundle(const std::string& extension_id,
IPC::Message* reply_msg);
void OnGetExtensionMessageBundleOnFileThread(
@@ -72,6 +71,11 @@ class ChromeRenderMessageFilter : public BrowserMessageFilter {
const std::string& extension_id,
const std::string& default_locale,
IPC::Message* reply_msg);
+ void OnExtensionAddListener(const std::string& extension_id,
+ const std::string& event_name);
+ void OnExtensionRemoveListener(const std::string& extension_id,
+ const std::string& event_name);
+ void OnExtensionCloseChannel(int port_id);
#if defined(USE_TCMALLOC)
void OnRendererTcmalloc(base::ProcessId pid, const std::string& output);
#endif
diff --git a/content/browser/renderer_host/DEPS b/content/browser/renderer_host/DEPS
index 0a9e14a..d8e9a30 100644
--- a/content/browser/renderer_host/DEPS
+++ b/content/browser/renderer_host/DEPS
@@ -1,5 +1,4 @@
include_rules = [
"+content/renderer", # For single-process mode.
"+third_party/zlib",
- "+chrome/browser/extensions", # temporarily, for BrowserRenderProcessHost
]
diff --git a/content/browser/renderer_host/browser_render_process_host.cc b/content/browser/renderer_host/browser_render_process_host.cc
index 25bab9c..f439717 100644
--- a/content/browser/renderer_host/browser_render_process_host.cc
+++ b/content/browser/renderer_host/browser_render_process_host.cc
@@ -27,28 +27,20 @@
#include "base/threading/thread.h"
#include "base/threading/thread_restrictions.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/extensions/extension_event_router.h"
-#include "chrome/browser/extensions/extension_function_dispatcher.h"
-#include "chrome/browser/extensions/extension_message_service.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/user_script_master.h"
#include "chrome/browser/gpu_data_manager.h"
#include "chrome/browser/history/history.h"
#include "chrome/browser/io_thread.h"
#include "chrome/browser/metrics/user_metrics.h"
#include "chrome/browser/net/resolve_proxy_msg_helper.h"
#include "chrome/browser/platform_util.h"
+#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/renderer_host/web_cache_manager.h"
#include "chrome/browser/safe_browsing/client_side_detection_service.h"
#include "chrome/browser/spellcheck_host.h"
-#include "chrome/browser/metrics/user_metrics.h"
#include "chrome/browser/visitedlink/visitedlink_master.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
-#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_icon_set.h"
-#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/logging_chrome.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/render_messages.h"
@@ -286,12 +278,6 @@ BrowserRenderProcessHost::BrowserRenderProcessHost(Profile* profile)
callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
widget_helper_ = new RenderWidgetHelper();
- registrar_.Add(this, NotificationType::USER_SCRIPTS_UPDATED,
- Source<Profile>(profile->GetOriginalProfile()));
- registrar_.Add(this, NotificationType::EXTENSION_LOADED,
- Source<Profile>(profile->GetOriginalProfile()));
- registrar_.Add(this, NotificationType::EXTENSION_UNLOADED,
- Source<Profile>(profile->GetOriginalProfile()));
registrar_.Add(this, NotificationType::SPELLCHECK_HOST_REINITIALIZED,
NotificationService::AllSources());
registrar_.Add(this, NotificationType::SPELLCHECK_WORD_ADDED,
@@ -815,61 +801,6 @@ void BrowserRenderProcessHost::InitVisitedLinks() {
SendVisitedLinkTable(visitedlink_master->shared_memory());
}
-void BrowserRenderProcessHost::InitUserScripts() {
- UserScriptMaster* user_script_master = profile()->GetUserScriptMaster();
-
- // Incognito profiles won't have user scripts.
- if (!user_script_master)
- return;
-
- if (!user_script_master->ScriptsReady()) {
- // No scripts ready. :(
- return;
- }
-
- // Update the renderer process with the current scripts.
- SendUserScriptsUpdate(user_script_master->GetSharedMemory());
-}
-
-void BrowserRenderProcessHost::InitExtensions() {
- // Valid extension function names, used to setup bindings in renderer.
- std::vector<std::string> function_names;
- ExtensionFunctionDispatcher::GetAllFunctionNames(&function_names);
- Send(new ExtensionMsg_SetFunctionNames(function_names));
-
- // Scripting whitelist. This is modified by tests and must be communicated to
- // renderers.
- Send(new ExtensionMsg_SetScriptingWhitelist(
- *Extension::GetScriptingWhitelist()));
-
- // Loaded extensions.
- ExtensionService* service = profile()->GetExtensionService();
- if (service) {
- for (size_t i = 0; i < service->extensions()->size(); ++i) {
- Send(new ExtensionMsg_Loaded(
- ExtensionMsg_Loaded_Params(service->extensions()->at(i))));
- }
- }
-}
-
-void BrowserRenderProcessHost::SendUserScriptsUpdate(
- base::SharedMemory *shared_memory) {
- // Process is being started asynchronously. We'll end up calling
- // InitUserScripts when it's created which will call this again.
- if (child_process_.get() && child_process_->IsStarting())
- return;
-
- base::SharedMemoryHandle handle_for_process;
- if (!shared_memory->ShareToProcess(GetHandle(), &handle_for_process)) {
- // This can legitimately fail if the renderer asserts at startup.
- return;
- }
-
- if (base::SharedMemory::IsHandleValid(handle_for_process)) {
- Send(new ExtensionMsg_UpdateUserScripts(handle_for_process));
- }
-}
-
bool BrowserRenderProcessHost::FastShutdownIfPossible() {
if (run_renderer_in_process())
return false; // Single process mode can't do fast shutdown.
@@ -1006,12 +937,7 @@ bool BrowserRenderProcessHost::OnMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(ViewHostMsg_UpdatedCacheStats,
OnUpdatedCacheStats)
IPC_MESSAGE_HANDLER(ViewHostMsg_SuddenTerminationChanged,
- SuddenTerminationChanged);
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddListener, OnExtensionAddListener)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveListener,
- OnExtensionRemoveListener)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel,
- OnExtensionCloseChannel)
+ SuddenTerminationChanged)
IPC_MESSAGE_HANDLER(ViewHostMsg_UserMetricsRecordAction,
OnUserMetricsRecordAction)
IPC_MESSAGE_HANDLER(SpellCheckHostMsg_RequestDictionary,
@@ -1139,24 +1065,6 @@ void BrowserRenderProcessHost::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
switch (type.value) {
- case NotificationType::USER_SCRIPTS_UPDATED: {
- base::SharedMemory* shared_memory =
- Details<base::SharedMemory>(details).ptr();
- if (shared_memory) {
- SendUserScriptsUpdate(shared_memory);
- }
- break;
- }
- case NotificationType::EXTENSION_LOADED: {
- Send(new ExtensionMsg_Loaded(
- ExtensionMsg_Loaded_Params(Details<const Extension>(details).ptr())));
- break;
- }
- case NotificationType::EXTENSION_UNLOADED: {
- Send(new ExtensionMsg_Unloaded(
- Details<UnloadedExtensionInfo>(details).ptr()->extension->id()));
- break;
- }
case NotificationType::SPELLCHECK_HOST_REINITIALIZED: {
InitSpellChecker();
break;
@@ -1187,8 +1095,6 @@ void BrowserRenderProcessHost::OnProcessLaunched() {
Send(new ViewMsg_SetIsIncognitoProcess(profile()->IsOffTheRecord()));
InitVisitedLinks();
- InitUserScripts();
- InitExtensions();
// We don't want to initialize the spellchecker unless SpellCheckHost has been
// created. In InitSpellChecker(), we know if GetSpellCheckHost() is NULL
@@ -1212,30 +1118,6 @@ void BrowserRenderProcessHost::OnProcessLaunched() {
Source<RenderProcessHost>(this), NotificationService::NoDetails());
}
-void BrowserRenderProcessHost::OnExtensionAddListener(
- const std::string& extension_id,
- const std::string& event_name) {
- if (profile()->GetExtensionEventRouter()) {
- profile()->GetExtensionEventRouter()->AddEventListener(
- event_name, this, extension_id);
- }
-}
-
-void BrowserRenderProcessHost::OnExtensionRemoveListener(
- const std::string& extension_id,
- const std::string& event_name) {
- if (profile()->GetExtensionEventRouter()) {
- profile()->GetExtensionEventRouter()->RemoveEventListener(
- event_name, this, extension_id);
- }
-}
-
-void BrowserRenderProcessHost::OnExtensionCloseChannel(int port_id) {
- if (profile()->GetExtensionMessageService()) {
- profile()->GetExtensionMessageService()->CloseChannel(port_id);
- }
-}
-
void BrowserRenderProcessHost::OnUserMetricsRecordAction(
const std::string& action) {
UserMetrics::RecordComputedAction(action, profile());
diff --git a/content/browser/renderer_host/browser_render_process_host.h b/content/browser/renderer_host/browser_render_process_host.h
index 70cdf00..385625b 100644
--- a/content/browser/renderer_host/browser_render_process_host.h
+++ b/content/browser/renderer_host/browser_render_process_host.h
@@ -104,28 +104,12 @@ class BrowserRenderProcessHost : public RenderProcessHost,
// Control message handlers.
void OnUpdatedCacheStats(const WebKit::WebCache::UsageStats& stats);
void SuddenTerminationChanged(bool enabled);
- void OnExtensionAddListener(const std::string& extension_id,
- const std::string& event_name);
- void OnExtensionRemoveListener(const std::string& extension_id,
- const std::string& event_name);
- void OnExtensionCloseChannel(int port_id);
void OnUserMetricsRecordAction(const std::string& action);
// Initialize support for visited links. Send the renderer process its initial
// set of visited links.
void InitVisitedLinks();
- // Initialize support for user scripts. Send the renderer process its initial
- // set of scripts and listen for updates to scripts.
- void InitUserScripts();
-
- // Initialize support for extension APIs. Send the list of registered API
- // functions to thre renderer process.
- void InitExtensions();
-
- // Sends the renderer process a new set of user scripts.
- void SendUserScriptsUpdate(base::SharedMemory* shared_memory);
-
// Generates a command line to be used to spawn a renderer and appends the
// results to |*command_line|.
void AppendRendererCommandLine(CommandLine* command_line) const;
diff --git a/content/browser/tab_contents/tab_contents.cc b/content/browser/tab_contents/tab_contents.cc
index 1b50925..13b0a83 100644
--- a/content/browser/tab_contents/tab_contents.cc
+++ b/content/browser/tab_contents/tab_contents.cc
@@ -53,9 +53,7 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/content_restriction.h"
-#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_messages.h"
-#include "chrome/common/extensions/url_pattern.h"
#include "chrome/common/icon_messages.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/render_messages.h"