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

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

Issue 9837012: Initial extension bindings for Media Gallery API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 8 years, 8 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/extensions/api/extension_api.h" 13 #include "chrome/common/extensions/api/extension_api.h"
14 #include "chrome/common/extensions/extension.h" 14 #include "chrome/common/extensions/extension.h"
15 #include "chrome/common/extensions/extension_messages.h" 15 #include "chrome/common/extensions/extension_messages.h"
16 #include "chrome/common/extensions/extension_permission_set.h" 16 #include "chrome/common/extensions/extension_permission_set.h"
17 #include "chrome/common/url_constants.h" 17 #include "chrome/common/url_constants.h"
18 #include "chrome/renderer/chrome_render_process_observer.h" 18 #include "chrome/renderer/chrome_render_process_observer.h"
19 #include "chrome/renderer/extensions/app_bindings.h" 19 #include "chrome/renderer/extensions/app_bindings.h"
20 #include "chrome/renderer/extensions/chrome_v8_context.h" 20 #include "chrome/renderer/extensions/chrome_v8_context.h"
21 #include "chrome/renderer/extensions/chrome_v8_extension.h" 21 #include "chrome/renderer/extensions/chrome_v8_extension.h"
22 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" 22 #include "chrome/renderer/extensions/context_menus_custom_bindings.h"
23 #include "chrome/renderer/extensions/event_bindings.h" 23 #include "chrome/renderer/extensions/event_bindings.h"
24 #include "chrome/renderer/extensions/experimental.socket_custom_bindings.h" 24 #include "chrome/renderer/extensions/experimental.socket_custom_bindings.h"
25 #include "chrome/renderer/extensions/extension_custom_bindings.h" 25 #include "chrome/renderer/extensions/extension_custom_bindings.h"
26 #include "chrome/renderer/extensions/extension_groups.h" 26 #include "chrome/renderer/extensions/extension_groups.h"
27 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h" 27 #include "chrome/renderer/extensions/file_browser_handler_custom_bindings.h"
28 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h" 28 #include "chrome/renderer/extensions/file_browser_private_custom_bindings.h"
29 #include "chrome/renderer/extensions/i18n_custom_bindings.h" 29 #include "chrome/renderer/extensions/i18n_custom_bindings.h"
30 #include "chrome/renderer/extensions/media_gallery_custom_bindings.h"
30 #include "chrome/renderer/extensions/miscellaneous_bindings.h" 31 #include "chrome/renderer/extensions/miscellaneous_bindings.h"
31 #include "chrome/renderer/extensions/page_actions_custom_bindings.h" 32 #include "chrome/renderer/extensions/page_actions_custom_bindings.h"
32 #include "chrome/renderer/extensions/page_capture_custom_bindings.h" 33 #include "chrome/renderer/extensions/page_capture_custom_bindings.h"
33 #include "chrome/renderer/extensions/schema_generated_bindings.h" 34 #include "chrome/renderer/extensions/schema_generated_bindings.h"
34 #include "chrome/renderer/extensions/tabs_custom_bindings.h" 35 #include "chrome/renderer/extensions/tabs_custom_bindings.h"
35 #include "chrome/renderer/extensions/tts_custom_bindings.h" 36 #include "chrome/renderer/extensions/tts_custom_bindings.h"
36 #include "chrome/renderer/extensions/user_script_slave.h" 37 #include "chrome/renderer/extensions/user_script_slave.h"
37 #include "chrome/renderer/extensions/web_request_custom_bindings.h" 38 #include "chrome/renderer/extensions/web_request_custom_bindings.h"
38 #include "chrome/renderer/extensions/webstore_bindings.h" 39 #include "chrome/renderer/extensions/webstore_bindings.h"
39 #include "chrome/renderer/module_system.h" 40 #include "chrome/renderer/module_system.h"
(...skipping 15 matching lines...) Expand all
55 using content::RenderThread; 56 using content::RenderThread;
56 using extensions::ContextMenusCustomBindings; 57 using extensions::ContextMenusCustomBindings;
57 using extensions::ExperimentalSocketCustomBindings; 58 using extensions::ExperimentalSocketCustomBindings;
58 using extensions::ExtensionAPI; 59 using extensions::ExtensionAPI;
59 using extensions::ExtensionCustomBindings; 60 using extensions::ExtensionCustomBindings;
60 using extensions::Feature; 61 using extensions::Feature;
61 using extensions::FileBrowserHandlerCustomBindings; 62 using extensions::FileBrowserHandlerCustomBindings;
62 using extensions::FileBrowserPrivateCustomBindings; 63 using extensions::FileBrowserPrivateCustomBindings;
63 using extensions::I18NCustomBindings; 64 using extensions::I18NCustomBindings;
64 using extensions::MiscellaneousBindings; 65 using extensions::MiscellaneousBindings;
66 using extensions::MediaGalleryCustomBindings;
65 using extensions::PageActionsCustomBindings; 67 using extensions::PageActionsCustomBindings;
66 using extensions::PageCaptureCustomBindings; 68 using extensions::PageCaptureCustomBindings;
67 using extensions::SchemaGeneratedBindings; 69 using extensions::SchemaGeneratedBindings;
68 using extensions::TTSCustomBindings; 70 using extensions::TTSCustomBindings;
69 using extensions::TabsCustomBindings; 71 using extensions::TabsCustomBindings;
70 using extensions::WebRequestCustomBindings; 72 using extensions::WebRequestCustomBindings;
71 using WebKit::WebDataSource; 73 using WebKit::WebDataSource;
72 using WebKit::WebDocument; 74 using WebKit::WebDocument;
73 using WebKit::WebFrame; 75 using WebKit::WebFrame;
74 using WebKit::WebSecurityPolicy; 76 using WebKit::WebSecurityPolicy;
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 scoped_ptr<NativeHandler>(new SchemaGeneratedBindings(this))); 366 scoped_ptr<NativeHandler>(new SchemaGeneratedBindings(this)));
365 367
366 // Custom bindings. 368 // Custom bindings.
367 module_system->RegisterNativeHandler("app", 369 module_system->RegisterNativeHandler("app",
368 scoped_ptr<NativeHandler>(new AppBindings(this, context))); 370 scoped_ptr<NativeHandler>(new AppBindings(this, context)));
369 module_system->RegisterNativeHandler("context_menus", 371 module_system->RegisterNativeHandler("context_menus",
370 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings())); 372 scoped_ptr<NativeHandler>(new ContextMenusCustomBindings()));
371 module_system->RegisterNativeHandler("extension", 373 module_system->RegisterNativeHandler("extension",
372 scoped_ptr<NativeHandler>( 374 scoped_ptr<NativeHandler>(
373 new ExtensionCustomBindings(this))); 375 new ExtensionCustomBindings(this)));
376 module_system->RegisterNativeHandler("experimental_mediaGalleries",
377 scoped_ptr<NativeHandler>(new MediaGalleryCustomBindings()));
374 module_system->RegisterNativeHandler("experimental_socket", 378 module_system->RegisterNativeHandler("experimental_socket",
375 scoped_ptr<NativeHandler>(new ExperimentalSocketCustomBindings())); 379 scoped_ptr<NativeHandler>(new ExperimentalSocketCustomBindings()));
376 module_system->RegisterNativeHandler("file_browser_handler", 380 module_system->RegisterNativeHandler("file_browser_handler",
377 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings())); 381 scoped_ptr<NativeHandler>(new FileBrowserHandlerCustomBindings()));
378 module_system->RegisterNativeHandler("file_browser_private", 382 module_system->RegisterNativeHandler("file_browser_private",
379 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings())); 383 scoped_ptr<NativeHandler>(new FileBrowserPrivateCustomBindings()));
380 module_system->RegisterNativeHandler("i18n", 384 module_system->RegisterNativeHandler("i18n",
381 scoped_ptr<NativeHandler>(new I18NCustomBindings())); 385 scoped_ptr<NativeHandler>(new I18NCustomBindings()));
382 module_system->RegisterNativeHandler("page_actions", 386 module_system->RegisterNativeHandler("page_actions",
383 scoped_ptr<NativeHandler>( 387 scoped_ptr<NativeHandler>(
(...skipping 27 matching lines...) Expand all
411 source_map_.RegisterSource("app", IDR_APP_CUSTOM_BINDINGS_JS); 415 source_map_.RegisterSource("app", IDR_APP_CUSTOM_BINDINGS_JS);
412 source_map_.RegisterSource("browserAction", 416 source_map_.RegisterSource("browserAction",
413 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS); 417 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS);
414 source_map_.RegisterSource("contentSettings", 418 source_map_.RegisterSource("contentSettings",
415 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS); 419 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS);
416 source_map_.RegisterSource("contextMenus", 420 source_map_.RegisterSource("contextMenus",
417 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS); 421 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS);
418 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS); 422 source_map_.RegisterSource("devtools", IDR_DEVTOOLS_CUSTOM_BINDINGS_JS);
419 source_map_.RegisterSource("experimental.declarative", 423 source_map_.RegisterSource("experimental.declarative",
420 IDR_EXPERIMENTAL_DECLARATIVE_CUSTOM_BINDINGS_JS); 424 IDR_EXPERIMENTAL_DECLARATIVE_CUSTOM_BINDINGS_JS);
425 source_map_.RegisterSource("experimental.mediaGalleries",
426 IDR_MEDIA_GALLERY_CUSTOM_BINDINGS_JS);
421 source_map_.RegisterSource("experimental.offscreen", 427 source_map_.RegisterSource("experimental.offscreen",
422 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS); 428 IDR_EXPERIMENTAL_OFFSCREENTABS_CUSTOM_BINDINGS_JS);
423 source_map_.RegisterSource("experimental.socket", 429 source_map_.RegisterSource("experimental.socket",
424 IDR_EXPERIMENTAL_SOCKET_CUSTOM_BINDINGS_JS); 430 IDR_EXPERIMENTAL_SOCKET_CUSTOM_BINDINGS_JS);
425 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS); 431 source_map_.RegisterSource("extension", IDR_EXTENSION_CUSTOM_BINDINGS_JS);
426 source_map_.RegisterSource("fileBrowserHandler", 432 source_map_.RegisterSource("fileBrowserHandler",
427 IDR_FILE_BROWSER_HANDLER_CUSTOM_BINDINGS_JS); 433 IDR_FILE_BROWSER_HANDLER_CUSTOM_BINDINGS_JS);
428 source_map_.RegisterSource("fileBrowserPrivate", 434 source_map_.RegisterSource("fileBrowserPrivate",
429 IDR_FILE_BROWSER_PRIVATE_CUSTOM_BINDINGS_JS); 435 IDR_FILE_BROWSER_PRIVATE_CUSTOM_BINDINGS_JS);
430 source_map_.RegisterSource("i18n", IDR_I18N_CUSTOM_BINDINGS_JS); 436 source_map_.RegisterSource("i18n", IDR_I18N_CUSTOM_BINDINGS_JS);
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 return Feature::BLESSED_EXTENSION_CONTEXT; 755 return Feature::BLESSED_EXTENSION_CONTEXT;
750 756
751 if (extensions_.ExtensionBindingsAllowed(url_info)) 757 if (extensions_.ExtensionBindingsAllowed(url_info))
752 return Feature::UNBLESSED_EXTENSION_CONTEXT; 758 return Feature::UNBLESSED_EXTENSION_CONTEXT;
753 759
754 if (url_info.url().is_valid()) 760 if (url_info.url().is_valid())
755 return Feature::WEB_PAGE_CONTEXT; 761 return Feature::WEB_PAGE_CONTEXT;
756 762
757 return Feature::UNSPECIFIED_CONTEXT; 763 return Feature::UNSPECIFIED_CONTEXT;
758 } 764 }
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/js/api_page_generator.js ('k') | chrome/renderer/extensions/media_gallery_custom_bindings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698