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

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: Windows tests fixed 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/app_window_custom_bindings.h" 23 #include "chrome/renderer/extensions/app_window_custom_bindings.h"
24 #include "chrome/renderer/extensions/chrome_v8_context.h" 24 #include "chrome/renderer/extensions/chrome_v8_context.h"
25 #include "chrome/renderer/extensions/chrome_v8_extension.h" 25 #include "chrome/renderer/extensions/chrome_v8_extension.h"
26 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" 26 #include "chrome/renderer/extensions/context_menus_custom_bindings.h"
27 #include "chrome/renderer/extensions/event_bindings.h" 27 #include "chrome/renderer/extensions/event_bindings.h"
28 #include "chrome/renderer/extensions/experimental.app_custom_bindings.h"
28 #include "chrome/renderer/extensions/experimental.usb_custom_bindings.h" 29 #include "chrome/renderer/extensions/experimental.usb_custom_bindings.h"
29 #include "chrome/renderer/extensions/extension_custom_bindings.h" 30 #include "chrome/renderer/extensions/extension_custom_bindings.h"
30 #include "chrome/renderer/extensions/extension_groups.h" 31 #include "chrome/renderer/extensions/extension_groups.h"
31 #include "chrome/renderer/extensions/extension_helper.h" 32 #include "chrome/renderer/extensions/extension_helper.h"
32 #include "chrome/renderer/extensions/extension_request_sender.h" 33 #include "chrome/renderer/extensions/extension_request_sender.h"
33 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h" 34 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h"
34 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h" 35 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h"
35 #include "chrome/renderer/extensions/i18n_custom_bindings.h" 36 #include "chrome/renderer/extensions/i18n_custom_bindings.h"
36 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h" 37 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h"
37 #include "chrome/renderer/extensions/miscellaneous_bindings.h" 38 #include "chrome/renderer/extensions/miscellaneous_bindings.h"
(...skipping 30 matching lines...) Expand all
68 using WebKit::WebScopedUserGesture; 69 using WebKit::WebScopedUserGesture;
69 using WebKit::WebSecurityPolicy; 70 using WebKit::WebSecurityPolicy;
70 using WebKit::WebString; 71 using WebKit::WebString;
71 using WebKit::WebVector; 72 using WebKit::WebVector;
72 using WebKit::WebView; 73 using WebKit::WebView;
73 using content::RenderThread; 74 using content::RenderThread;
74 using extensions::ApiDefinitionsNatives; 75 using extensions::ApiDefinitionsNatives;
75 using extensions::AppWindowCustomBindings; 76 using extensions::AppWindowCustomBindings;
76 using extensions::ContextMenusCustomBindings; 77 using extensions::ContextMenusCustomBindings;
77 using extensions::Extension; 78 using extensions::Extension;
79 using extensions::ExperimentalAppCustomBindings;
78 using extensions::ExperimentalUsbCustomBindings; 80 using extensions::ExperimentalUsbCustomBindings;
79 using extensions::ExtensionAPI; 81 using extensions::ExtensionAPI;
80 using extensions::ExtensionCustomBindings; 82 using extensions::ExtensionCustomBindings;
81 using extensions::Feature; 83 using extensions::Feature;
82 using extensions::FileBrowserHandlerCustomBindings; 84 using extensions::FileBrowserHandlerCustomBindings;
83 using extensions::FileBrowserPrivateCustomBindings; 85 using extensions::FileBrowserPrivateCustomBindings;
84 using extensions::I18NCustomBindings; 86 using extensions::I18NCustomBindings;
85 using extensions::MiscellaneousBindings; 87 using extensions::MiscellaneousBindings;
86 using extensions::MediaGalleryCustomBindings; 88 using extensions::MediaGalleryCustomBindings;
87 using extensions::PageActionsCustomBindings; 89 using extensions::PageActionsCustomBindings;
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 scoped_ptr<NativeHandler>(new AppBindings(this, context))); 498 scoped_ptr<NativeHandler>(new AppBindings(this, context)));
497 module_system->RegisterNativeHandler("app_window", 499 module_system->RegisterNativeHandler("app_window",
498 scoped_ptr<NativeHandler>(new AppWindowCustomBindings(this))); 500 scoped_ptr<NativeHandler>(new AppWindowCustomBindings(this)));
499 module_system->RegisterNativeHandler("context_menus", 501 module_system->RegisterNativeHandler("context_menus",
500 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings())); 502 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings()));
501 module_system->RegisterNativeHandler("extension", 503 module_system->RegisterNativeHandler("extension",
502 scoped_ptr<NativeHandler>( 504 scoped_ptr<NativeHandler>(
503 new ExtensionCustomBindings(this))); 505 new ExtensionCustomBindings(this)));
504 module_system->RegisterNativeHandler("experimental_mediaGalleries", 506 module_system->RegisterNativeHandler("experimental_mediaGalleries",
505 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings())); 507 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings()));
508 module_system->RegisterNativeHandler("experimental_app",
509 scoped_ptr<NativeHandler>(new ExperimentalAppCustomBindings()));
506 module_system->RegisterNativeHandler("experimental_usb", 510 module_system->RegisterNativeHandler("experimental_usb",
507 scoped_ptr<NativeHandler>(new ExperimentalUsbCustomBindings())); 511 scoped_ptr<NativeHandler>(new ExperimentalUsbCustomBindings()));
508 module_system->RegisterNativeHandler("file_browser_handler", 512 module_system->RegisterNativeHandler("file_browser_handler",
509 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings())); 513 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings()));
510 module_system->RegisterNativeHandler("file_browser_private", 514 module_system->RegisterNativeHandler("file_browser_private",
511 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings())); 515 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings()));
512 module_system->RegisterNativeHandler("i18n", 516 module_system->RegisterNativeHandler("i18n",
513 scoped_ptr<NativeHandler>(new I18NCustomBindings())); 517 scoped_ptr<NativeHandler>(new I18NCustomBindings()));
514 module_system->RegisterNativeHandler("page_actions", 518 module_system->RegisterNativeHandler("page_actions",
515 scoped_ptr<NativeHandler>( 519 scoped_ptr<NativeHandler>(
(...skipping 29 matching lines...) Expand all
545 source_map_.RegisterSource("appWindow", IDR_APP_WINDOW_CUSTOM_BINDINGS_JS); 549 source_map_.RegisterSource("appWindow", IDR_APP_WINDOW_CUSTOM_BINDINGS_JS);
546 source_map_.RegisterSource("browserAction", 550 source_map_.RegisterSource("browserAction",
547 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS); 551 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS);
548 source_map_.RegisterSource("contentSettings", 552 source_map_.RegisterSource("contentSettings",
549 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS); 553 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS);
550 source_map_.RegisterSource("contextMenus", 554 source_map_.RegisterSource("contextMenus",
551 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS); 555 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS);
552 source_map_.RegisterSource("declarativeWebRequest", 556 source_map_.RegisterSource("declarativeWebRequest",
553 IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS); 557 IDR_DECLARATIVE_WEBREQUEST_CUSTOM_BINDINGS_JS);
554 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS); 558 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS);
559 source_map_.RegisterSource("experimental.app",
560 IDR_EXPERIMENTAL_APP_CUSTOM_BINDINGS_JS);
555 source_map_.RegisterSource("experimental.mediaGalleries", 561 source_map_.RegisterSource("experimental.mediaGalleries",
556 IDR_MEDIA_GALLERY_CUSTOM_BINDINGS_JS); 562 IDR_MEDIA_GALLERY_CUSTOM_BINDINGS_JS);
557 source_map_.RegisterSource("experimental.offscreen", 563 source_map_.RegisterSource("experimental.offscreen",
558 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS); 564 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS);
559 source_map_.RegisterSource("experimental.usb", 565 source_map_.RegisterSource("experimental.usb",
560 IDR_EXPERIMENTAL_USB_CUSTOM_BINDINGS_JS); 566 IDR_EXPERIMENTAL_USB_CUSTOM_BINDINGS_JS);
561 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS); 567 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS);
562 source_map_.RegisterSource("fileBrowserHandler", 568 source_map_.RegisterSource("fileBrowserHandler",
563 IDR_FILE_BROWSER_HANDLER_CUSTOM_BINDINGS_JS); 569 IDR_FILE_BROWSER_HANDLER_CUSTOM_BINDINGS_JS);
564 source_map_.RegisterSource("fileBrowserPrivate", 570 source_map_.RegisterSource("fileBrowserPrivate",
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 static const char kMessage[] = 939 static const char kMessage[] =
934 "%s can only be used in an extension process."; 940 "%s can only be used in an extension process.";
935 std::string error_msg = base::StringPrintf(kMessage, function_name.c_str()); 941 std::string error_msg = base::StringPrintf(kMessage, function_name.c_str());
936 v8::ThrowException( 942 v8::ThrowException(
937 v8::Exception::Error(v8::String::New(error_msg.c_str()))); 943 v8::Exception::Error(v8::String::New(error_msg.c_str())));
938 return false; 944 return false;
939 } 945 }
940 946
941 return true; 947 return true;
942 } 948 }
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/experimental.app_custom_bindings.cc ('k') | chrome/renderer/renderer_resources.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698