| 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/renderer/extensions/dispatcher.h" | 5 #include "chrome/renderer/extensions/dispatcher.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/debug/alias.h" | 9 #include "base/debug/alias.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 #include "extensions/common/view_type.h" | 64 #include "extensions/common/view_type.h" |
| 65 #include "extensions/renderer/api_definitions_natives.h" | 65 #include "extensions/renderer/api_definitions_natives.h" |
| 66 #include "extensions/renderer/binding_generating_native_handler.h" | 66 #include "extensions/renderer/binding_generating_native_handler.h" |
| 67 #include "extensions/renderer/blob_native_handler.h" | 67 #include "extensions/renderer/blob_native_handler.h" |
| 68 #include "extensions/renderer/content_watcher.h" | 68 #include "extensions/renderer/content_watcher.h" |
| 69 #include "extensions/renderer/context_menus_custom_bindings.h" | 69 #include "extensions/renderer/context_menus_custom_bindings.h" |
| 70 #include "extensions/renderer/css_native_handler.h" | 70 #include "extensions/renderer/css_native_handler.h" |
| 71 #include "extensions/renderer/document_custom_bindings.h" | 71 #include "extensions/renderer/document_custom_bindings.h" |
| 72 #include "extensions/renderer/event_bindings.h" | 72 #include "extensions/renderer/event_bindings.h" |
| 73 #include "extensions/renderer/extension_groups.h" | 73 #include "extensions/renderer/extension_groups.h" |
| 74 #include "extensions/renderer/extensions_renderer_client.h" |
| 74 #include "extensions/renderer/file_system_natives.h" | 75 #include "extensions/renderer/file_system_natives.h" |
| 75 #include "extensions/renderer/i18n_custom_bindings.h" | 76 #include "extensions/renderer/i18n_custom_bindings.h" |
| 76 #include "extensions/renderer/id_generator_custom_bindings.h" | 77 #include "extensions/renderer/id_generator_custom_bindings.h" |
| 77 #include "extensions/renderer/logging_native_handler.h" | 78 #include "extensions/renderer/logging_native_handler.h" |
| 78 #include "extensions/renderer/module_system.h" | 79 #include "extensions/renderer/module_system.h" |
| 79 #include "extensions/renderer/object_backed_native_handler.h" | 80 #include "extensions/renderer/object_backed_native_handler.h" |
| 80 #include "extensions/renderer/render_view_observer_natives.h" | 81 #include "extensions/renderer/render_view_observer_natives.h" |
| 81 #include "extensions/renderer/request_sender.h" | 82 #include "extensions/renderer/request_sender.h" |
| 82 #include "extensions/renderer/safe_builtins.h" | 83 #include "extensions/renderer/safe_builtins.h" |
| 83 #include "extensions/renderer/script_context.h" | 84 #include "extensions/renderer/script_context.h" |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 if (is_extension_process_) { | 467 if (is_extension_process_) { |
| 467 RenderThread::Get()->SetIdleNotificationDelayInMs( | 468 RenderThread::Get()->SetIdleNotificationDelayInMs( |
| 468 kInitialExtensionIdleHandlerDelayMs); | 469 kInitialExtensionIdleHandlerDelayMs); |
| 469 } | 470 } |
| 470 | 471 |
| 471 RenderThread::Get()->RegisterExtension(SafeBuiltins::CreateV8Extension()); | 472 RenderThread::Get()->RegisterExtension(SafeBuiltins::CreateV8Extension()); |
| 472 | 473 |
| 473 user_script_slave_.reset(new UserScriptSlave(&extensions_)); | 474 user_script_slave_.reset(new UserScriptSlave(&extensions_)); |
| 474 request_sender_.reset(new RequestSender(this)); | 475 request_sender_.reset(new RequestSender(this)); |
| 475 PopulateSourceMap(); | 476 PopulateSourceMap(); |
| 477 // Register JS sources from the extensions module embedder. |
| 478 ExtensionsRendererClient::Get()->PopulateSourceMap(&source_map_); |
| 476 PopulateLazyBindingsMap(); | 479 PopulateLazyBindingsMap(); |
| 477 } | 480 } |
| 478 | 481 |
| 479 Dispatcher::~Dispatcher() { | 482 Dispatcher::~Dispatcher() { |
| 480 } | 483 } |
| 481 | 484 |
| 482 bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) { | 485 bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) { |
| 483 bool handled = true; | 486 bool handled = true; |
| 484 IPC_BEGIN_MESSAGE_MAP(Dispatcher, message) | 487 IPC_BEGIN_MESSAGE_MAP(Dispatcher, message) |
| 485 IPC_MESSAGE_HANDLER(ExtensionMsg_SetChannel, OnSetChannel) | 488 IPC_MESSAGE_HANDLER(ExtensionMsg_SetChannel, OnSetChannel) |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1152 scoped_ptr<ModuleSystem> module_system(new ModuleSystem(context, | 1155 scoped_ptr<ModuleSystem> module_system(new ModuleSystem(context, |
| 1153 &source_map_)); | 1156 &source_map_)); |
| 1154 context->set_module_system(module_system.Pass()); | 1157 context->set_module_system(module_system.Pass()); |
| 1155 } | 1158 } |
| 1156 ModuleSystem* module_system = context->module_system(); | 1159 ModuleSystem* module_system = context->module_system(); |
| 1157 | 1160 |
| 1158 // Enable natives in startup. | 1161 // Enable natives in startup. |
| 1159 ModuleSystem::NativesEnabledScope natives_enabled_scope( | 1162 ModuleSystem::NativesEnabledScope natives_enabled_scope( |
| 1160 module_system); | 1163 module_system); |
| 1161 | 1164 |
| 1165 // Register the core extensions native handlers. |
| 1162 RegisterNativeHandlers(module_system, context); | 1166 RegisterNativeHandlers(module_system, context); |
| 1163 | 1167 |
| 1168 // Register native handlers from the extensions embedder. |
| 1169 ExtensionsRendererClient::Get()->RegisterNativeHandlers(module_system, |
| 1170 context); |
| 1171 |
| 1164 module_system->RegisterNativeHandler("chrome", | 1172 module_system->RegisterNativeHandler("chrome", |
| 1165 scoped_ptr<NativeHandler>(new ChromeNativeHandler(context))); | 1173 scoped_ptr<NativeHandler>(new ChromeNativeHandler(context))); |
| 1166 module_system->RegisterNativeHandler("print", | 1174 module_system->RegisterNativeHandler("print", |
| 1167 scoped_ptr<NativeHandler>(new PrintNativeHandler(context))); | 1175 scoped_ptr<NativeHandler>(new PrintNativeHandler(context))); |
| 1168 module_system->RegisterNativeHandler( | 1176 module_system->RegisterNativeHandler( |
| 1169 "lazy_background_page", | 1177 "lazy_background_page", |
| 1170 scoped_ptr<NativeHandler>(new LazyBackgroundPageNativeHandler(context))); | 1178 scoped_ptr<NativeHandler>(new LazyBackgroundPageNativeHandler(context))); |
| 1171 module_system->RegisterNativeHandler("logging", | 1179 module_system->RegisterNativeHandler("logging", |
| 1172 scoped_ptr<NativeHandler>(new LoggingNativeHandler(context))); | 1180 scoped_ptr<NativeHandler>(new LoggingNativeHandler(context))); |
| 1173 module_system->RegisterNativeHandler("schema_registry", | 1181 module_system->RegisterNativeHandler("schema_registry", |
| (...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1703 } | 1711 } |
| 1704 | 1712 |
| 1705 void Dispatcher::ClearPortData(int port_id) { | 1713 void Dispatcher::ClearPortData(int port_id) { |
| 1706 // Only the target port side has entries in |port_to_tab_id_map_|. If | 1714 // Only the target port side has entries in |port_to_tab_id_map_|. If |
| 1707 // |port_id| is a source port, std::map::erase() will just silently fail | 1715 // |port_id| is a source port, std::map::erase() will just silently fail |
| 1708 // here as a no-op. | 1716 // here as a no-op. |
| 1709 port_to_tab_id_map_.erase(port_id); | 1717 port_to_tab_id_map_.erase(port_id); |
| 1710 } | 1718 } |
| 1711 | 1719 |
| 1712 } // namespace extensions | 1720 } // namespace extensions |
| OLD | NEW |