| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/renderer/dispatcher.h" | 5 #include "extensions/renderer/dispatcher.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/debug/alias.h" | 10 #include "base/debug/alias.h" |
| (...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 scoped_ptr<NativeHandler>(new IdGeneratorCustomBindings(context))); | 709 scoped_ptr<NativeHandler>(new IdGeneratorCustomBindings(context))); |
| 710 module_system->RegisterNativeHandler( | 710 module_system->RegisterNativeHandler( |
| 711 "runtime", scoped_ptr<NativeHandler>(new RuntimeCustomBindings(context))); | 711 "runtime", scoped_ptr<NativeHandler>(new RuntimeCustomBindings(context))); |
| 712 } | 712 } |
| 713 | 713 |
| 714 bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) { | 714 bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) { |
| 715 bool handled = true; | 715 bool handled = true; |
| 716 IPC_BEGIN_MESSAGE_MAP(Dispatcher, message) | 716 IPC_BEGIN_MESSAGE_MAP(Dispatcher, message) |
| 717 IPC_MESSAGE_HANDLER(ExtensionMsg_ActivateExtension, OnActivateExtension) | 717 IPC_MESSAGE_HANDLER(ExtensionMsg_ActivateExtension, OnActivateExtension) |
| 718 IPC_MESSAGE_HANDLER(ExtensionMsg_CancelSuspend, OnCancelSuspend) | 718 IPC_MESSAGE_HANDLER(ExtensionMsg_CancelSuspend, OnCancelSuspend) |
| 719 IPC_MESSAGE_HANDLER(ExtensionMsg_ClearTabSpecificPermissions, | |
| 720 OnClearTabSpecificPermissions) | |
| 721 IPC_MESSAGE_HANDLER(ExtensionMsg_DeliverMessage, OnDeliverMessage) | 719 IPC_MESSAGE_HANDLER(ExtensionMsg_DeliverMessage, OnDeliverMessage) |
| 722 IPC_MESSAGE_HANDLER(ExtensionMsg_DispatchOnConnect, OnDispatchOnConnect) | 720 IPC_MESSAGE_HANDLER(ExtensionMsg_DispatchOnConnect, OnDispatchOnConnect) |
| 723 IPC_MESSAGE_HANDLER(ExtensionMsg_DispatchOnDisconnect, OnDispatchOnDisconnect) | 721 IPC_MESSAGE_HANDLER(ExtensionMsg_DispatchOnDisconnect, OnDispatchOnDisconnect) |
| 724 IPC_MESSAGE_HANDLER(ExtensionMsg_Loaded, OnLoaded) | 722 IPC_MESSAGE_HANDLER(ExtensionMsg_Loaded, OnLoaded) |
| 725 IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnMessageInvoke) | 723 IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnMessageInvoke) |
| 726 IPC_MESSAGE_HANDLER(ExtensionMsg_SetChannel, OnSetChannel) | 724 IPC_MESSAGE_HANDLER(ExtensionMsg_SetChannel, OnSetChannel) |
| 727 IPC_MESSAGE_HANDLER(ExtensionMsg_SetFunctionNames, OnSetFunctionNames) | 725 IPC_MESSAGE_HANDLER(ExtensionMsg_SetFunctionNames, OnSetFunctionNames) |
| 728 IPC_MESSAGE_HANDLER(ExtensionMsg_SetScriptingWhitelist, | 726 IPC_MESSAGE_HANDLER(ExtensionMsg_SetScriptingWhitelist, |
| 729 OnSetScriptingWhitelist) | 727 OnSetScriptingWhitelist) |
| 730 IPC_MESSAGE_HANDLER(ExtensionMsg_SetSystemFont, OnSetSystemFont) | 728 IPC_MESSAGE_HANDLER(ExtensionMsg_SetSystemFont, OnSetSystemFont) |
| 731 IPC_MESSAGE_HANDLER(ExtensionMsg_ShouldSuspend, OnShouldSuspend) | 729 IPC_MESSAGE_HANDLER(ExtensionMsg_ShouldSuspend, OnShouldSuspend) |
| 732 IPC_MESSAGE_HANDLER(ExtensionMsg_Suspend, OnSuspend) | 730 IPC_MESSAGE_HANDLER(ExtensionMsg_Suspend, OnSuspend) |
| 733 IPC_MESSAGE_HANDLER(ExtensionMsg_TransferBlobs, OnTransferBlobs) | 731 IPC_MESSAGE_HANDLER(ExtensionMsg_TransferBlobs, OnTransferBlobs) |
| 734 IPC_MESSAGE_HANDLER(ExtensionMsg_Unloaded, OnUnloaded) | 732 IPC_MESSAGE_HANDLER(ExtensionMsg_Unloaded, OnUnloaded) |
| 735 IPC_MESSAGE_HANDLER(ExtensionMsg_UpdatePermissions, OnUpdatePermissions) | 733 IPC_MESSAGE_HANDLER(ExtensionMsg_UpdatePermissions, OnUpdatePermissions) |
| 736 IPC_MESSAGE_HANDLER(ExtensionMsg_UpdateTabSpecificPermissions, | |
| 737 OnUpdateTabSpecificPermissions) | |
| 738 IPC_MESSAGE_HANDLER(ExtensionMsg_UsingWebRequestAPI, OnUsingWebRequestAPI) | 734 IPC_MESSAGE_HANDLER(ExtensionMsg_UsingWebRequestAPI, OnUsingWebRequestAPI) |
| 739 IPC_MESSAGE_FORWARD(ExtensionMsg_WatchPages, | 735 IPC_MESSAGE_FORWARD(ExtensionMsg_WatchPages, |
| 740 content_watcher_.get(), | 736 content_watcher_.get(), |
| 741 ContentWatcher::OnWatchPages) | 737 ContentWatcher::OnWatchPages) |
| 742 IPC_MESSAGE_UNHANDLED(handled = false) | 738 IPC_MESSAGE_UNHANDLED(handled = false) |
| 743 IPC_END_MESSAGE_MAP() | 739 IPC_END_MESSAGE_MAP() |
| 744 | 740 |
| 745 return handled; | 741 return handled; |
| 746 } | 742 } |
| 747 | 743 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 InitOriginPermissions(extension); | 823 InitOriginPermissions(extension); |
| 828 } | 824 } |
| 829 | 825 |
| 830 UpdateActiveExtensions(); | 826 UpdateActiveExtensions(); |
| 831 } | 827 } |
| 832 | 828 |
| 833 void Dispatcher::OnCancelSuspend(const std::string& extension_id) { | 829 void Dispatcher::OnCancelSuspend(const std::string& extension_id) { |
| 834 DispatchEvent(extension_id, kOnSuspendCanceledEvent); | 830 DispatchEvent(extension_id, kOnSuspendCanceledEvent); |
| 835 } | 831 } |
| 836 | 832 |
| 837 void Dispatcher::OnClearTabSpecificPermissions( | |
| 838 int tab_id, | |
| 839 const std::vector<std::string>& extension_ids) { | |
| 840 delegate_->ClearTabSpecificPermissions(this, tab_id, extension_ids); | |
| 841 } | |
| 842 | |
| 843 void Dispatcher::OnDeliverMessage(int target_port_id, const Message& message) { | 833 void Dispatcher::OnDeliverMessage(int target_port_id, const Message& message) { |
| 844 scoped_ptr<RequestSender::ScopedTabID> scoped_tab_id; | 834 scoped_ptr<RequestSender::ScopedTabID> scoped_tab_id; |
| 845 std::map<int, int>::const_iterator it = | 835 std::map<int, int>::const_iterator it = |
| 846 port_to_tab_id_map_.find(target_port_id); | 836 port_to_tab_id_map_.find(target_port_id); |
| 847 if (it != port_to_tab_id_map_.end()) { | 837 if (it != port_to_tab_id_map_.end()) { |
| 848 scoped_tab_id.reset( | 838 scoped_tab_id.reset( |
| 849 new RequestSender::ScopedTabID(request_sender(), it->second)); | 839 new RequestSender::ScopedTabID(request_sender(), it->second)); |
| 850 } | 840 } |
| 851 | 841 |
| 852 MessagingBindings::DeliverMessage(script_context_set_, | 842 MessagingBindings::DeliverMessage(script_context_set_, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1004 UpdateOriginPermissions( | 994 UpdateOriginPermissions( |
| 1005 extension, | 995 extension, |
| 1006 extension->permissions_data()->GetEffectiveHostPermissions(), | 996 extension->permissions_data()->GetEffectiveHostPermissions(), |
| 1007 active->effective_hosts()); | 997 active->effective_hosts()); |
| 1008 } | 998 } |
| 1009 | 999 |
| 1010 extension->permissions_data()->SetPermissions(active, withheld); | 1000 extension->permissions_data()->SetPermissions(active, withheld); |
| 1011 UpdateBindings(extension->id()); | 1001 UpdateBindings(extension->id()); |
| 1012 } | 1002 } |
| 1013 | 1003 |
| 1014 void Dispatcher::OnUpdateTabSpecificPermissions( | |
| 1015 const GURL& url, | |
| 1016 int tab_id, | |
| 1017 const std::string& extension_id, | |
| 1018 const URLPatternSet& origin_set) { | |
| 1019 delegate_->UpdateTabSpecificPermissions( | |
| 1020 this, url, tab_id, extension_id, origin_set); | |
| 1021 } | |
| 1022 | |
| 1023 void Dispatcher::OnUsingWebRequestAPI(bool webrequest_used) { | 1004 void Dispatcher::OnUsingWebRequestAPI(bool webrequest_used) { |
| 1024 webrequest_used_ = webrequest_used; | 1005 webrequest_used_ = webrequest_used; |
| 1025 } | 1006 } |
| 1026 | 1007 |
| 1027 void Dispatcher::OnUserScriptsUpdated( | 1008 void Dispatcher::OnUserScriptsUpdated( |
| 1028 const std::set<std::string>& changed_extensions, | 1009 const std::set<std::string>& changed_extensions, |
| 1029 const std::vector<UserScript*>& scripts) { | 1010 const std::vector<UserScript*>& scripts) { |
| 1030 UpdateActiveExtensions(); | 1011 UpdateActiveExtensions(); |
| 1031 } | 1012 } |
| 1032 | 1013 |
| (...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1403 return v8::Handle<v8::Object>(); | 1384 return v8::Handle<v8::Object>(); |
| 1404 | 1385 |
| 1405 if (bind_name) | 1386 if (bind_name) |
| 1406 *bind_name = split.back(); | 1387 *bind_name = split.back(); |
| 1407 | 1388 |
| 1408 return bind_object.IsEmpty() ? AsObjectOrEmpty(GetOrCreateChrome(context)) | 1389 return bind_object.IsEmpty() ? AsObjectOrEmpty(GetOrCreateChrome(context)) |
| 1409 : bind_object; | 1390 : bind_object; |
| 1410 } | 1391 } |
| 1411 | 1392 |
| 1412 } // namespace extensions | 1393 } // namespace extensions |
| OLD | NEW |