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 |