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

Unified Diff: extensions/renderer/dispatcher.cc

Issue 1966283002: Remove port lifetime management from renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Devlin's nits up to #12 Created 4 years, 7 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: 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,

Powered by Google App Engine
This is Rietveld 408576698