Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: chrome/renderer/extensions/extension_dispatcher.cc

Issue 10332071: Pass command line arguments onto platform apps which provide the right intent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Browser cleanup Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/extension_dispatcher.h" 5 #include "chrome/renderer/extensions/extension_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/extension_permission_set.h" 17 #include "chrome/common/extensions/extension_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/chrome_v8_context.h" 23 #include "chrome/renderer/extensions/chrome_v8_context.h"
24 #include "chrome/renderer/extensions/chrome_v8_extension.h" 24 #include "chrome/renderer/extensions/chrome_v8_extension.h"
25 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" 25 #include "chrome/renderer/extensions/context_menus_custom_bindings.h"
26 #include "chrome/renderer/extensions/event_bindings.h" 26 #include "chrome/renderer/extensions/event_bindings.h"
27 #include "chrome/renderer/extensions/experimental.app_custom_bindings.h"
27 #include "chrome/renderer/extensions/experimental.usb_custom_bindings.h" 28 #include "chrome/renderer/extensions/experimental.usb_custom_bindings.h"
28 #include "chrome/renderer/extensions/extension_custom_bindings.h" 29 #include "chrome/renderer/extensions/extension_custom_bindings.h"
29 #include "chrome/renderer/extensions/extension_groups.h" 30 #include "chrome/renderer/extensions/extension_groups.h"
30 #include "chrome/renderer/extensions/extension_helper.h" 31 #include "chrome/renderer/extensions/extension_helper.h"
31 #include "chrome/renderer/extensions/extension_request_sender.h" 32 #include "chrome/renderer/extensions/extension_request_sender.h"
32 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h" 33 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h"
33 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h" 34 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h"
34 #include "chrome/renderer/extensions/i18n_custom_bindings.h" 35 #include "chrome/renderer/extensions/i18n_custom_bindings.h"
35 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h" 36 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h"
36 #include "chrome/renderer/extensions/miscellaneous_bindings.h" 37 #include "chrome/renderer/extensions/miscellaneous_bindings.h"
(...skipping 28 matching lines...) Expand all
65 using WebKit::WebFrame; 66 using WebKit::WebFrame;
66 using WebKit::WebScopedUserGesture; 67 using WebKit::WebScopedUserGesture;
67 using WebKit::WebSecurityPolicy; 68 using WebKit::WebSecurityPolicy;
68 using WebKit::WebString; 69 using WebKit::WebString;
69 using WebKit::WebVector; 70 using WebKit::WebVector;
70 using WebKit::WebView; 71 using WebKit::WebView;
71 using content::RenderThread; 72 using content::RenderThread;
72 using extensions::ApiDefinitionsNatives; 73 using extensions::ApiDefinitionsNatives;
73 using extensions::ContextMenusCustomBindings; 74 using extensions::ContextMenusCustomBindings;
74 using extensions::Extension; 75 using extensions::Extension;
76 using extensions::ExperimentalAppCustomBindings;
75 using extensions::ExperimentalUsbCustomBindings; 77 using extensions::ExperimentalUsbCustomBindings;
76 using extensions::ExtensionAPI; 78 using extensions::ExtensionAPI;
77 using extensions::ExtensionCustomBindings; 79 using extensions::ExtensionCustomBindings;
78 using extensions::Feature; 80 using extensions::Feature;
79 using extensions::FileBrowserHandlerCustomBindings; 81 using extensions::FileBrowserHandlerCustomBindings;
80 using extensions::FileBrowserPrivateCustomBindings; 82 using extensions::FileBrowserPrivateCustomBindings;
81 using extensions::I18NCustomBindings; 83 using extensions::I18NCustomBindings;
82 using extensions::MiscellaneousBindings; 84 using extensions::MiscellaneousBindings;
83 using extensions::MediaGalleryCustomBindings; 85 using extensions::MediaGalleryCustomBindings;
84 using extensions::PageActionsCustomBindings; 86 using extensions::PageActionsCustomBindings;
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 // Custom bindings. 492 // Custom bindings.
491 module_system->RegisterNativeHandler("app", 493 module_system->RegisterNativeHandler("app",
492 scoped_ptr<NativeHandler>(new AppBindings(this, context))); 494 scoped_ptr<NativeHandler>(new AppBindings(this, context)));
493 module_system->RegisterNativeHandler("context_menus", 495 module_system->RegisterNativeHandler("context_menus",
494 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings())); 496 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings()));
495 module_system->RegisterNativeHandler("extension", 497 module_system->RegisterNativeHandler("extension",
496 scoped_ptr<NativeHandler>( 498 scoped_ptr<NativeHandler>(
497 new ExtensionCustomBindings(this))); 499 new ExtensionCustomBindings(this)));
498 module_system->RegisterNativeHandler("experimental_mediaGalleries", 500 module_system->RegisterNativeHandler("experimental_mediaGalleries",
499 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings())); 501 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings()));
502 module_system->RegisterNativeHandler("experimental_app",
503 scoped_ptr<NativeHandler>(new ExperimentalAppCustomBindings()));
500 module_system->RegisterNativeHandler("experimental_usb", 504 module_system->RegisterNativeHandler("experimental_usb",
501 scoped_ptr<NativeHandler>(new ExperimentalUsbCustomBindings())); 505 scoped_ptr<NativeHandler>(new ExperimentalUsbCustomBindings()));
502 module_system->RegisterNativeHandler("file_browser_handler", 506 module_system->RegisterNativeHandler("file_browser_handler",
503 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings())); 507 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings()));
504 module_system->RegisterNativeHandler("file_browser_private", 508 module_system->RegisterNativeHandler("file_browser_private",
505 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings())); 509 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings()));
506 module_system->RegisterNativeHandler("i18n", 510 module_system->RegisterNativeHandler("i18n",
507 scoped_ptr<NativeHandler>(new I18NCustomBindings())); 511 scoped_ptr<NativeHandler>(new I18NCustomBindings()));
508 module_system->RegisterNativeHandler("page_actions", 512 module_system->RegisterNativeHandler("page_actions",
509 scoped_ptr<NativeHandler>( 513 scoped_ptr<NativeHandler>(
(...skipping 28 matching lines...) Expand all
538 source_map_.RegisterSource("app", IDR_APP_CUSTOM_BINDINGS_JS); 542 source_map_.RegisterSource("app", IDR_APP_CUSTOM_BINDINGS_JS);
539 source_map_.RegisterSource("browserAction", 543 source_map_.RegisterSource("browserAction",
540 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS); 544 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS);
541 source_map_.RegisterSource("contentSettings", 545 source_map_.RegisterSource("contentSettings",
542 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS); 546 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS);
543 source_map_.RegisterSource("contextMenus", 547 source_map_.RegisterSource("contextMenus",
544 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS); 548 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS);
545 source_map_.RegisterSource("declarativeWebRequest", 549 source_map_.RegisterSource("declarativeWebRequest",
546 IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS); 550 IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS);
547 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS); 551 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS);
552 source_map_.RegisterSource("experimental.app",
553 IDR_EXPERIMENTAL_APP_CUSTOM_BINDINGS_JS);
548 source_map_.RegisterSource("experimental.mediaGalleries", 554 source_map_.RegisterSource("experimental.mediaGalleries",
549 IDR_MEDIA_GALLERY_CUSTOM_BINDINGS_JS); 555 IDR_MEDIA_GALLERY_CUSTOM_BINDINGS_JS);
550 source_map_.RegisterSource("experimental.offscreen", 556 source_map_.RegisterSource("experimental.offscreen",
551 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS); 557 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS);
552 source_map_.RegisterSource("experimental.usb", 558 source_map_.RegisterSource("experimental.usb",
553 IDR_EXPERIMENTAL_USB_CUSTOM_BINDINGS_JS); 559 IDR_EXPERIMENTAL_USB_CUSTOM_BINDINGS_JS);
554 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS); 560 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS);
555 source_map_.RegisterSource("fileBrowserHandler", 561 source_map_.RegisterSource("fileBrowserHandler",
556 IDR_FILE_BROWSER_HANDLER_CUSTOM_BINDINGS_JS); 562 IDR_FILE_BROWSER_HANDLER_CUSTOM_BINDINGS_JS);
557 source_map_.RegisterSource("fileBrowserPrivate", 563 source_map_.RegisterSource("fileBrowserPrivate",
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 static const char kMessage[] = 932 static const char kMessage[] =
927 "%s can only be used in an extension process."; 933 "%s can only be used in an extension process.";
928 std::string error_msg = base::StringPrintf(kMessage, function_name.c_str()); 934 std::string error_msg = base::StringPrintf(kMessage, function_name.c_str());
929 v8::ThrowException( 935 v8::ThrowException(
930 v8::Exception::Error(v8::String::New(error_msg.c_str()))); 936 v8::Exception::Error(v8::String::New(error_msg.c_str())));
931 return false; 937 return false;
932 } 938 }
933 939
934 return true; 940 return true;
935 } 941 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698