Index: chrome/browser/extensions/message_service.cc |
diff --git a/chrome/browser/extensions/extension_message_service.cc b/chrome/browser/extensions/message_service.cc |
similarity index 86% |
rename from chrome/browser/extensions/extension_message_service.cc |
rename to chrome/browser/extensions/message_service.cc |
index d9f547740f78cec3fe2a58643b9dd7100dd4cce0..8758c13df577ec0dfbe168b1b215a1abc3c2b2fc 100644 |
--- a/chrome/browser/extensions/extension_message_service.cc |
+++ b/chrome/browser/extensions/message_service.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/extensions/extension_message_service.h" |
+#include "chrome/browser/extensions/message_service.h" |
#include "base/atomic_sequence_num.h" |
#include "base/bind.h" |
@@ -45,7 +45,9 @@ using content::WebContents; |
// Change even to odd and vice versa, to get the other side of a given channel. |
#define GET_OPPOSITE_PORT_ID(source_port_id) ((source_port_id) ^ 1) |
-struct ExtensionMessageService::MessagePort { |
+namespace extensions { |
+ |
+struct MessageService::MessagePort { |
content::RenderProcessHost* process; |
int routing_id; |
std::string extension_id; |
@@ -64,12 +66,12 @@ struct ExtensionMessageService::MessagePort { |
background_host_ptr(NULL) {} |
}; |
-struct ExtensionMessageService::MessageChannel { |
- ExtensionMessageService::MessagePort opener; |
- ExtensionMessageService::MessagePort receiver; |
+struct MessageService::MessageChannel { |
+ MessageService::MessagePort opener; |
+ MessageService::MessagePort receiver; |
}; |
-struct ExtensionMessageService::OpenChannelParams { |
+struct MessageService::OpenChannelParams { |
content::RenderProcessHost* source; |
std::string tab_json; |
MessagePort receiver; |
@@ -98,7 +100,7 @@ namespace { |
static base::StaticAtomicSequenceNumber g_next_channel_id; |
-static void DispatchOnConnect(const ExtensionMessageService::MessagePort& port, |
+static void DispatchOnConnect(const MessageService::MessagePort& port, |
int dest_port_id, |
const std::string& channel_name, |
const std::string& tab_json, |
@@ -109,15 +111,16 @@ static void DispatchOnConnect(const ExtensionMessageService::MessagePort& port, |
tab_json, source_extension_id, target_extension_id)); |
} |
-static void DispatchOnDisconnect( |
- const ExtensionMessageService::MessagePort& port, int source_port_id, |
- bool connection_error) { |
+static void DispatchOnDisconnect(const MessageService::MessagePort& port, |
+ int source_port_id, |
+ bool connection_error) { |
port.process->Send(new ExtensionMsg_DispatchOnDisconnect( |
port.routing_id, source_port_id, connection_error)); |
} |
-static void DispatchOnMessage(const ExtensionMessageService::MessagePort& port, |
- const std::string& message, int target_port_id) { |
+static void DispatchOnMessage(const MessageService::MessagePort& port, |
+ const std::string& message, |
+ int target_port_id) { |
port.process->Send(new ExtensionMsg_DeliverMessage( |
port.routing_id, target_port_id, message)); |
} |
@@ -126,7 +129,7 @@ static content::RenderProcessHost* GetExtensionProcess( |
Profile* profile, const std::string& extension_id) { |
SiteInstance* site_instance = |
profile->GetExtensionProcessManager()->GetSiteInstanceForURL( |
- extensions::Extension::GetBaseURLFromExtensionId(extension_id)); |
+ Extension::GetBaseURLFromExtensionId(extension_id)); |
if (!site_instance->HasProcess()) |
return NULL; |
@@ -134,12 +137,11 @@ static content::RenderProcessHost* GetExtensionProcess( |
return site_instance->GetProcess(); |
} |
-static void IncrementLazyKeepaliveCount( |
- ExtensionMessageService::MessagePort* port) { |
+static void IncrementLazyKeepaliveCount(MessageService::MessagePort* port) { |
Profile* profile = |
Profile::FromBrowserContext(port->process->GetBrowserContext()); |
ExtensionProcessManager* pm = |
- extensions::ExtensionSystem::Get(profile)->process_manager(); |
+ ExtensionSystem::Get(profile)->process_manager(); |
ExtensionHost* host = pm->GetBackgroundHostForExtension(port->extension_id); |
if (host && host->extension()->has_lazy_background_page()) |
pm->IncrementLazyKeepaliveCount(host->extension()); |
@@ -149,12 +151,11 @@ static void IncrementLazyKeepaliveCount( |
port->background_host_ptr = host; |
} |
-static void DecrementLazyKeepaliveCount( |
- ExtensionMessageService::MessagePort* port) { |
+static void DecrementLazyKeepaliveCount(MessageService::MessagePort* port) { |
Profile* profile = |
Profile::FromBrowserContext(port->process->GetBrowserContext()); |
ExtensionProcessManager* pm = |
- extensions::ExtensionSystem::Get(profile)->process_manager(); |
+ ExtensionSystem::Get(profile)->process_manager(); |
ExtensionHost* host = pm->GetBackgroundHostForExtension(port->extension_id); |
if (host && host == port->background_host_ptr) |
pm->DecrementLazyKeepaliveCount(host->extension()); |
@@ -163,7 +164,7 @@ static void DecrementLazyKeepaliveCount( |
} // namespace |
// static |
-void ExtensionMessageService::AllocatePortIdPair(int* port1, int* port2) { |
+void MessageService::AllocatePortIdPair(int* port1, int* port2) { |
int channel_id = g_next_channel_id.GetNext(); |
int port1_id = channel_id * 2; |
int port2_id = channel_id * 2 + 1; |
@@ -181,8 +182,8 @@ void ExtensionMessageService::AllocatePortIdPair(int* port1, int* port2) { |
*port2 = port2_id; |
} |
-ExtensionMessageService::ExtensionMessageService( |
- extensions::LazyBackgroundTaskQueue* queue) |
+MessageService::MessageService( |
+ LazyBackgroundTaskQueue* queue) |
: lazy_background_task_queue_(queue) { |
registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, |
content::NotificationService::AllBrowserContextsAndSources()); |
@@ -190,12 +191,12 @@ ExtensionMessageService::ExtensionMessageService( |
content::NotificationService::AllBrowserContextsAndSources()); |
} |
-ExtensionMessageService::~ExtensionMessageService() { |
+MessageService::~MessageService() { |
STLDeleteContainerPairSecondPointers(channels_.begin(), channels_.end()); |
channels_.clear(); |
} |
-void ExtensionMessageService::OpenChannelToExtension( |
+void MessageService::OpenChannelToExtension( |
int source_process_id, int source_routing_id, int receiver_port_id, |
const std::string& source_extension_id, |
const std::string& target_extension_id, |
@@ -209,10 +210,9 @@ void ExtensionMessageService::OpenChannelToExtension( |
// Note: we use the source's profile here. If the source is an incognito |
// process, we will use the incognito EPM to find the right extension process, |
// which depends on whether the extension uses spanning or split mode. |
- MessagePort receiver( |
- GetExtensionProcess(profile, target_extension_id), |
- MSG_ROUTING_CONTROL, |
- target_extension_id); |
+ MessagePort receiver(GetExtensionProcess(profile, target_extension_id), |
+ MSG_ROUTING_CONTROL, |
+ target_extension_id); |
WebContents* source_contents = tab_util::GetWebContentsByID( |
source_process_id, source_routing_id); |
@@ -237,7 +237,7 @@ void ExtensionMessageService::OpenChannelToExtension( |
OpenChannelImpl(params); |
} |
-void ExtensionMessageService::OpenChannelToTab( |
+void MessageService::OpenChannelToTab( |
int source_process_id, int source_routing_id, int receiver_port_id, |
int tab_id, const std::string& extension_id, |
const std::string& channel_name) { |
@@ -281,7 +281,7 @@ void ExtensionMessageService::OpenChannelToTab( |
OpenChannelImpl(params); |
} |
-bool ExtensionMessageService::OpenChannelImpl(const OpenChannelParams& params) { |
+bool MessageService::OpenChannelImpl(const OpenChannelParams& params) { |
if (!params.source) |
return false; // Closed while in flight. |
@@ -322,7 +322,7 @@ bool ExtensionMessageService::OpenChannelImpl(const OpenChannelParams& params) { |
return true; |
} |
-void ExtensionMessageService::CloseChannel(int port_id, bool connection_error) { |
+void MessageService::CloseChannel(int port_id, bool connection_error) { |
// Note: The channel might be gone already, if the other side closed first. |
int channel_id = GET_CHANNEL_ID(port_id); |
MessageChannelMap::iterator it = channels_.find(channel_id); |
@@ -331,7 +331,7 @@ void ExtensionMessageService::CloseChannel(int port_id, bool connection_error) { |
if (pending != pending_channels_.end()) { |
lazy_background_task_queue_->AddPendingTask( |
pending->second.first, pending->second.second, |
- base::Bind(&ExtensionMessageService::PendingCloseChannel, |
+ base::Bind(&MessageService::PendingCloseChannel, |
base::Unretained(this), port_id, connection_error)); |
} |
return; |
@@ -339,7 +339,7 @@ void ExtensionMessageService::CloseChannel(int port_id, bool connection_error) { |
CloseChannelImpl(it, port_id, connection_error, true); |
} |
-void ExtensionMessageService::CloseChannelImpl( |
+void MessageService::CloseChannelImpl( |
MessageChannelMap::iterator channel_iter, int closing_port_id, |
bool connection_error, bool notify_other_port) { |
MessageChannel* channel = channel_iter->second; |
@@ -360,7 +360,7 @@ void ExtensionMessageService::CloseChannelImpl( |
channels_.erase(channel_iter); |
} |
-void ExtensionMessageService::PostMessageFromRenderer( |
+void MessageService::PostMessageFromRenderer( |
int source_port_id, const std::string& message) { |
int channel_id = GET_CHANNEL_ID(source_port_id); |
MessageChannelMap::iterator iter = channels_.find(channel_id); |
@@ -371,7 +371,7 @@ void ExtensionMessageService::PostMessageFromRenderer( |
if (pending != pending_channels_.end()) { |
lazy_background_task_queue_->AddPendingTask( |
pending->second.first, pending->second.second, |
- base::Bind(&ExtensionMessageService::PendingPostMessage, |
+ base::Bind(&MessageService::PendingPostMessage, |
base::Unretained(this), source_port_id, message)); |
} |
return; |
@@ -385,10 +385,9 @@ void ExtensionMessageService::PostMessageFromRenderer( |
DispatchOnMessage(port, message, dest_port_id); |
} |
-void ExtensionMessageService::Observe( |
- int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) { |
+void MessageService::Observe(int type, |
+ const content::NotificationSource& source, |
+ const content::NotificationDetails& details) { |
switch (type) { |
case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED: |
case content::NOTIFICATION_RENDERER_PROCESS_CLOSED: { |
@@ -403,8 +402,7 @@ void ExtensionMessageService::Observe( |
} |
} |
-void ExtensionMessageService::OnProcessClosed( |
- content::RenderProcessHost* process) { |
+void MessageService::OnProcessClosed(content::RenderProcessHost* process) { |
// Close any channels that share this renderer. We notify the opposite |
// port that his pair has closed. |
for (MessageChannelMap::iterator it = channels_.begin(); |
@@ -425,12 +423,12 @@ void ExtensionMessageService::OnProcessClosed( |
} |
} |
-bool ExtensionMessageService::MaybeAddPendingOpenChannelTask( |
+bool MessageService::MaybeAddPendingOpenChannelTask( |
Profile* profile, |
const OpenChannelParams& params) { |
ExtensionService* service = profile->GetExtensionService(); |
const std::string& extension_id = params.target_extension_id; |
- const extensions::Extension* extension = service->extensions()->GetByID( |
+ const Extension* extension = service->extensions()->GetByID( |
extension_id); |
if (extension && extension->has_lazy_background_page()) { |
// If the extension uses spanning incognito mode, make sure we're always |
@@ -441,7 +439,7 @@ bool ExtensionMessageService::MaybeAddPendingOpenChannelTask( |
if (lazy_background_task_queue_->ShouldEnqueueTask(profile, extension)) { |
lazy_background_task_queue_->AddPendingTask(profile, extension_id, |
- base::Bind(&ExtensionMessageService::PendingOpenChannel, |
+ base::Bind(&MessageService::PendingOpenChannel, |
base::Unretained(this), params, params.source->GetID())); |
pending_channels_[GET_CHANNEL_ID(params.receiver_port_id)] = |
PendingChannel(profile, extension_id); |
@@ -452,10 +450,9 @@ bool ExtensionMessageService::MaybeAddPendingOpenChannelTask( |
return false; |
} |
-void ExtensionMessageService::PendingOpenChannel( |
- const OpenChannelParams& params_in, |
- int source_process_id, |
- ExtensionHost* host) { |
+void MessageService::PendingOpenChannel(const OpenChannelParams& params_in, |
+ int source_process_id, |
+ ExtensionHost* host) { |
if (!host) |
return; // TODO(mpcomplete): notify source of disconnect? |
@@ -470,3 +467,5 @@ void ExtensionMessageService::PendingOpenChannel( |
params.target_extension_id); |
OpenChannelImpl(params); |
} |
+ |
+} // namespace extensions |