Index: extensions/renderer/dispatcher.cc |
diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc |
index 8c6f3197b6dd125d6d7f30b2ff460f1a690826da..b35977ee030a43929a487cbb96e0bed990bb6d6e 100644 |
--- a/extensions/renderer/dispatcher.cc |
+++ b/extensions/renderer/dispatcher.cc |
@@ -629,13 +629,6 @@ void Dispatcher::InvokeModuleSystemMethod(content::RenderFrame* render_frame, |
} |
} |
-void Dispatcher::ClearPortData(int port_id) { |
- // Only the target port side has entries in |port_to_tab_id_map_|. If |
- // |port_id| is a source port, std::map::erase() will just silently fail |
- // here as a no-op. |
- port_to_tab_id_map_.erase(port_id); |
-} |
- |
// static |
std::vector<std::pair<std::string, int> > Dispatcher::GetJsResources() { |
std::vector<std::pair<std::string, int> > resources; |
@@ -844,8 +837,8 @@ void Dispatcher::RegisterNativeHandlers(ModuleSystem* module_system, |
"event_natives", |
std::unique_ptr<NativeHandler>(new EventBindings(context))); |
module_system->RegisterNativeHandler( |
- "messaging_natives", std::unique_ptr<NativeHandler>( |
- MessagingBindings::Get(dispatcher, context))); |
+ "messaging_natives", |
+ std::unique_ptr<NativeHandler>(MessagingBindings::Get(context))); |
module_system->RegisterNativeHandler( |
"apiDefinitions", std::unique_ptr<NativeHandler>( |
new ApiDefinitionsNatives(dispatcher, context))); |
@@ -992,13 +985,13 @@ void Dispatcher::OnCancelSuspend(const std::string& extension_id) { |
DispatchEvent(extension_id, kOnSuspendCanceledEvent); |
} |
-void Dispatcher::OnDeliverMessage(int target_port_id, const Message& message) { |
+void Dispatcher::OnDeliverMessage(int target_port_id, |
+ int source_tab_id, |
+ const Message& message) { |
std::unique_ptr<RequestSender::ScopedTabID> scoped_tab_id; |
- std::map<int, int>::const_iterator it = |
- port_to_tab_id_map_.find(target_port_id); |
- if (it != port_to_tab_id_map_.end()) { |
+ if (source_tab_id != -1) { |
scoped_tab_id.reset( |
- new RequestSender::ScopedTabID(request_sender(), it->second)); |
+ new RequestSender::ScopedTabID(request_sender(), source_tab_id)); |
} |
MessagingBindings::DeliverMessage(*script_context_set_, target_port_id, |
@@ -1012,11 +1005,7 @@ void Dispatcher::OnDispatchOnConnect( |
const ExtensionMsg_TabConnectionInfo& source, |
const ExtensionMsg_ExternalConnectionInfo& info, |
const std::string& tls_channel_id) { |
- DCHECK(!ContainsKey(port_to_tab_id_map_, target_port_id)); |
DCHECK_EQ(1, target_port_id % 2); // target renderer ports have odd IDs. |
- int sender_tab_id = -1; |
- source.tab.GetInteger("id", &sender_tab_id); |
- port_to_tab_id_map_[target_port_id] = sender_tab_id; |
MessagingBindings::DispatchOnConnect(*script_context_set_, target_port_id, |
channel_name, source, info, |