| 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/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/string_piece.h" | 10 #include "base/string_piece.h" |
| 11 #include "chrome/common/child_process_logging.h" | 11 #include "chrome/common/child_process_logging.h" |
| 12 #include "chrome/common/chrome_switches.h" | 12 #include "chrome/common/chrome_switches.h" |
| 13 #include "chrome/common/chrome_version_info.h" | 13 #include "chrome/common/chrome_version_info.h" |
| 14 #include "chrome/common/extensions/api/extension_api.h" | 14 #include "chrome/common/extensions/api/extension_api.h" |
| 15 #include "chrome/common/extensions/extension.h" | 15 #include "chrome/common/extensions/extension.h" |
| 16 #include "chrome/common/extensions/extension_messages.h" | 16 #include "chrome/common/extensions/extension_messages.h" |
| 17 #include "chrome/common/extensions/permissions/permission_set.h" | 17 #include "chrome/common/extensions/permissions/permission_set.h" |
| 18 #include "chrome/common/url_constants.h" | 18 #include "chrome/common/url_constants.h" |
| 19 #include "chrome/common/view_type.h" | 19 #include "chrome/common/view_type.h" |
| 20 #include "chrome/renderer/chrome_render_process_observer.h" | 20 #include "chrome/renderer/chrome_render_process_observer.h" |
| 21 #include "chrome/renderer/extensions/api_definitions_natives.h" | 21 #include "chrome/renderer/extensions/api_definitions_natives.h" |
| 22 #include "chrome/renderer/extensions/app_bindings.h" | 22 #include "chrome/renderer/extensions/app_bindings.h" |
| 23 #include "chrome/renderer/extensions/app_runtime_custom_bindings.h" |
| 23 #include "chrome/renderer/extensions/app_window_custom_bindings.h" | 24 #include "chrome/renderer/extensions/app_window_custom_bindings.h" |
| 24 #include "chrome/renderer/extensions/chrome_v8_context.h" | 25 #include "chrome/renderer/extensions/chrome_v8_context.h" |
| 25 #include "chrome/renderer/extensions/chrome_v8_extension.h" | 26 #include "chrome/renderer/extensions/chrome_v8_extension.h" |
| 26 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" | 27 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" |
| 27 #include "chrome/renderer/extensions/event_bindings.h" | 28 #include "chrome/renderer/extensions/event_bindings.h" |
| 28 #include "chrome/renderer/extensions/experimental.app_custom_bindings.h" | |
| 29 #include "chrome/renderer/extensions/experimental.usb_custom_bindings.h" | 29 #include "chrome/renderer/extensions/experimental.usb_custom_bindings.h" |
| 30 #include "chrome/renderer/extensions/extension_custom_bindings.h" | 30 #include "chrome/renderer/extensions/extension_custom_bindings.h" |
| 31 #include "chrome/renderer/extensions/extension_groups.h" | 31 #include "chrome/renderer/extensions/extension_groups.h" |
| 32 #include "chrome/renderer/extensions/extension_helper.h" | 32 #include "chrome/renderer/extensions/extension_helper.h" |
| 33 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h" | 33 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h" |
| 34 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h" | 34 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h" |
| 35 #include "chrome/renderer/extensions/file_system_natives.h" | 35 #include "chrome/renderer/extensions/file_system_natives.h" |
| 36 #include "chrome/renderer/extensions/i18n_custom_bindings.h" | 36 #include "chrome/renderer/extensions/i18n_custom_bindings.h" |
| 37 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h" | 37 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h" |
| 38 #include "chrome/renderer/extensions/miscellaneous_bindings.h" | 38 #include "chrome/renderer/extensions/miscellaneous_bindings.h" |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 scoped_ptr<NativeHandler>( | 559 scoped_ptr<NativeHandler>( |
| 560 new SetIconNatives(this, request_sender_.get()))); | 560 new SetIconNatives(this, request_sender_.get()))); |
| 561 | 561 |
| 562 // Natives used by multiple APIs. | 562 // Natives used by multiple APIs. |
| 563 module_system->RegisterNativeHandler("file_system_natives", | 563 module_system->RegisterNativeHandler("file_system_natives", |
| 564 scoped_ptr<NativeHandler>(new FileSystemNatives())); | 564 scoped_ptr<NativeHandler>(new FileSystemNatives())); |
| 565 | 565 |
| 566 // Custom bindings. | 566 // Custom bindings. |
| 567 module_system->RegisterNativeHandler("app", | 567 module_system->RegisterNativeHandler("app", |
| 568 scoped_ptr<NativeHandler>(new AppBindings(this, context))); | 568 scoped_ptr<NativeHandler>(new AppBindings(this, context))); |
| 569 module_system->RegisterNativeHandler("app_runtime", |
| 570 scoped_ptr<NativeHandler>(new AppRuntimeCustomBindings())); |
| 569 module_system->RegisterNativeHandler("app_window", | 571 module_system->RegisterNativeHandler("app_window", |
| 570 scoped_ptr<NativeHandler>(new AppWindowCustomBindings(this))); | 572 scoped_ptr<NativeHandler>(new AppWindowCustomBindings(this))); |
| 571 module_system->RegisterNativeHandler("context_menus", | 573 module_system->RegisterNativeHandler("context_menus", |
| 572 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings())); | 574 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings())); |
| 573 module_system->RegisterNativeHandler("extension", | 575 module_system->RegisterNativeHandler("extension", |
| 574 scoped_ptr<NativeHandler>( | 576 scoped_ptr<NativeHandler>( |
| 575 new ExtensionCustomBindings(this))); | 577 new ExtensionCustomBindings(this))); |
| 576 module_system->RegisterNativeHandler("experimental_app", | |
| 577 scoped_ptr<NativeHandler>(new ExperimentalAppCustomBindings())); | |
| 578 module_system->RegisterNativeHandler("experimental_mediaGalleries", | 578 module_system->RegisterNativeHandler("experimental_mediaGalleries", |
| 579 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings())); | 579 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings())); |
| 580 module_system->RegisterNativeHandler("experimental_usb", | 580 module_system->RegisterNativeHandler("experimental_usb", |
| 581 scoped_ptr<NativeHandler>(new ExperimentalUsbCustomBindings())); | 581 scoped_ptr<NativeHandler>(new ExperimentalUsbCustomBindings())); |
| 582 module_system->RegisterNativeHandler("file_browser_handler", | 582 module_system->RegisterNativeHandler("file_browser_handler", |
| 583 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings())); | 583 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings())); |
| 584 module_system->RegisterNativeHandler("file_browser_private", | 584 module_system->RegisterNativeHandler("file_browser_private", |
| 585 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings())); | 585 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings())); |
| 586 module_system->RegisterNativeHandler("i18n", | 586 module_system->RegisterNativeHandler("i18n", |
| 587 scoped_ptr<NativeHandler>(new I18NCustomBindings())); | 587 scoped_ptr<NativeHandler>(new I18NCustomBindings())); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 613 | 613 |
| 614 // Libraries. | 614 // Libraries. |
| 615 source_map_.RegisterSource("lastError", IDR_LAST_ERROR_JS); | 615 source_map_.RegisterSource("lastError", IDR_LAST_ERROR_JS); |
| 616 source_map_.RegisterSource("schemaUtils", IDR_SCHEMA_UTILS_JS); | 616 source_map_.RegisterSource("schemaUtils", IDR_SCHEMA_UTILS_JS); |
| 617 source_map_.RegisterSource("sendRequest", IDR_SEND_REQUEST_JS); | 617 source_map_.RegisterSource("sendRequest", IDR_SEND_REQUEST_JS); |
| 618 source_map_.RegisterSource("setIcon", IDR_SET_ICON_JS); | 618 source_map_.RegisterSource("setIcon", IDR_SET_ICON_JS); |
| 619 source_map_.RegisterSource("utils", IDR_UTILS_JS); | 619 source_map_.RegisterSource("utils", IDR_UTILS_JS); |
| 620 | 620 |
| 621 // Custom bindings. | 621 // Custom bindings. |
| 622 source_map_.RegisterSource("app", IDR_APP_CUSTOM_BINDINGS_JS); | 622 source_map_.RegisterSource("app", IDR_APP_CUSTOM_BINDINGS_JS); |
| 623 source_map_.RegisterSource("app.runtime", IDR_APP_RUNTIME_CUSTOM_BINDINGS_JS); |
| 623 source_map_.RegisterSource("app.window", IDR_APP_WINDOW_CUSTOM_BINDINGS_JS); | 624 source_map_.RegisterSource("app.window", IDR_APP_WINDOW_CUSTOM_BINDINGS_JS); |
| 624 source_map_.RegisterSource("browserAction", | 625 source_map_.RegisterSource("browserAction", |
| 625 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS); | 626 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS); |
| 626 source_map_.RegisterSource("contentSettings", | 627 source_map_.RegisterSource("contentSettings", |
| 627 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS); | 628 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS); |
| 628 source_map_.RegisterSource("contextMenus", | 629 source_map_.RegisterSource("contextMenus", |
| 629 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS); | 630 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS); |
| 630 source_map_.RegisterSource("declarativeWebRequest", | 631 source_map_.RegisterSource("declarativeWebRequest", |
| 631 IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS); | 632 IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS); |
| 632 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS); | 633 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS); |
| 633 source_map_.RegisterSource("experimental.app", | |
| 634 IDR_EXPERIMENTAL_APP_CUSTOM_BINDINGS_JS); | |
| 635 source_map_.RegisterSource("experimental.bluetooth", | 634 source_map_.RegisterSource("experimental.bluetooth", |
| 636 IDR_EXPERIMENTAL_BLUETOOTH_CUSTOM_BINDINGS_JS); | 635 IDR_EXPERIMENTAL_BLUETOOTH_CUSTOM_BINDINGS_JS); |
| 637 source_map_.RegisterSource("experimental.mediaGalleries", | 636 source_map_.RegisterSource("experimental.mediaGalleries", |
| 638 IDR_EXPERIMENTAL_MEDIA_GALLERY_CUSTOM_BINDINGS_JS); | 637 IDR_EXPERIMENTAL_MEDIA_GALLERY_CUSTOM_BINDINGS_JS); |
| 639 source_map_.RegisterSource("experimental.offscreen", | 638 source_map_.RegisterSource("experimental.offscreen", |
| 640 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS); | 639 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS); |
| 641 source_map_.RegisterSource("experimental.usb", | 640 source_map_.RegisterSource("experimental.usb", |
| 642 IDR_EXPERIMENTAL_USB_CUSTOM_BINDINGS_JS); | 641 IDR_EXPERIMENTAL_USB_CUSTOM_BINDINGS_JS); |
| 643 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS); | 642 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS); |
| 644 source_map_.RegisterSource("fileBrowserHandler", | 643 source_map_.RegisterSource("fileBrowserHandler", |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1110 // we should abort. | 1109 // we should abort. |
| 1111 WebKit::WebFrame* frame = context->web_frame(); | 1110 WebKit::WebFrame* frame = context->web_frame(); |
| 1112 ExtensionURLInfo url_info(frame->document().securityOrigin(), | 1111 ExtensionURLInfo url_info(frame->document().securityOrigin(), |
| 1113 UserScriptSlave::GetDataSourceURLForFrame(frame)); | 1112 UserScriptSlave::GetDataSourceURLForFrame(frame)); |
| 1114 CHECK(!extensions_.IsSandboxedPage(url_info)); | 1113 CHECK(!extensions_.IsSandboxedPage(url_info)); |
| 1115 | 1114 |
| 1116 return true; | 1115 return true; |
| 1117 } | 1116 } |
| 1118 | 1117 |
| 1119 } // namespace extensions | 1118 } // namespace extensions |
| OLD | NEW |