OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/extension_message_service.h" | 5 #include "chrome/browser/extensions/extension_message_service.h" |
6 | 6 |
7 #include "base/atomic_sequence_num.h" | 7 #include "base/atomic_sequence_num.h" |
8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 args.Set(0, Value::CreateIntegerValue(dest_port_id)); | 70 args.Set(0, Value::CreateIntegerValue(dest_port_id)); |
71 args.Set(1, Value::CreateStringValue(channel_name)); | 71 args.Set(1, Value::CreateStringValue(channel_name)); |
72 args.Set(2, Value::CreateStringValue(tab_json)); | 72 args.Set(2, Value::CreateStringValue(tab_json)); |
73 args.Set(3, Value::CreateStringValue(source_extension_id)); | 73 args.Set(3, Value::CreateStringValue(source_extension_id)); |
74 args.Set(4, Value::CreateStringValue(target_extension_id)); | 74 args.Set(4, Value::CreateStringValue(target_extension_id)); |
75 CHECK(port.sender); | 75 CHECK(port.sender); |
76 port.sender->Send( | 76 port.sender->Send( |
77 new ExtensionMsg_MessageInvoke( | 77 new ExtensionMsg_MessageInvoke( |
78 port.routing_id, | 78 port.routing_id, |
79 target_extension_id, | 79 target_extension_id, |
80 ExtensionMessageService::kDispatchOnConnect, args, GURL())); | 80 ExtensionMessageService::kDispatchOnConnect, args, GURL(), |
| 81 false)); // Not a user gesture |
81 } | 82 } |
82 | 83 |
83 static void DispatchOnDisconnect( | 84 static void DispatchOnDisconnect( |
84 const ExtensionMessageService::MessagePort& port, int source_port_id, | 85 const ExtensionMessageService::MessagePort& port, int source_port_id, |
85 bool connection_error) { | 86 bool connection_error) { |
86 ListValue args; | 87 ListValue args; |
87 args.Set(0, Value::CreateIntegerValue(source_port_id)); | 88 args.Set(0, Value::CreateIntegerValue(source_port_id)); |
88 args.Set(1, Value::CreateBooleanValue(connection_error)); | 89 args.Set(1, Value::CreateBooleanValue(connection_error)); |
89 port.sender->Send(new ExtensionMsg_MessageInvoke(port.routing_id, | 90 port.sender->Send(new ExtensionMsg_MessageInvoke(port.routing_id, |
90 "", ExtensionMessageService::kDispatchOnDisconnect, args, GURL())); | 91 "", ExtensionMessageService::kDispatchOnDisconnect, args, GURL(), |
| 92 false)); // Not a user gesture |
91 } | 93 } |
92 | 94 |
93 static void DispatchOnMessage(const ExtensionMessageService::MessagePort& port, | 95 static void DispatchOnMessage(const ExtensionMessageService::MessagePort& port, |
94 const std::string& message, int target_port_id) { | 96 const std::string& message, int target_port_id) { |
95 port.sender->Send( | 97 port.sender->Send( |
96 new ExtensionMsg_DeliverMessage( | 98 new ExtensionMsg_DeliverMessage( |
97 port.routing_id, target_port_id, message)); | 99 port.routing_id, target_port_id, message)); |
98 } | 100 } |
99 | 101 |
100 static content::RenderProcessHost* GetExtensionProcess(Profile* profile, | 102 static content::RenderProcessHost* GetExtensionProcess(Profile* profile, |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 | 380 |
379 if (current->second->opener.sender == sender) { | 381 if (current->second->opener.sender == sender) { |
380 CloseChannelImpl(current, GET_CHANNEL_OPENER_ID(current->first), | 382 CloseChannelImpl(current, GET_CHANNEL_OPENER_ID(current->first), |
381 notify_other_port); | 383 notify_other_port); |
382 } else if (current->second->receiver.sender == sender) { | 384 } else if (current->second->receiver.sender == sender) { |
383 CloseChannelImpl(current, GET_CHANNEL_RECEIVERS_ID(current->first), | 385 CloseChannelImpl(current, GET_CHANNEL_RECEIVERS_ID(current->first), |
384 notify_other_port); | 386 notify_other_port); |
385 } | 387 } |
386 } | 388 } |
387 } | 389 } |
OLD | NEW |