| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/browser/extensions/api/chrome_extensions_api_client.h" | 5 #include "chrome/browser/extensions/api/chrome_extensions_api_client.h" |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "chrome/browser/extensions/api/chrome_device_permissions_prompt.h" | 8 #include "chrome/browser/extensions/api/chrome_device_permissions_prompt.h" |
| 9 #include "chrome/browser/extensions/api/declarative_content/chrome_content_rules
_registry.h" | 9 #include "chrome/browser/extensions/api/declarative_content/chrome_content_rules
_registry.h" |
| 10 #include "chrome/browser/extensions/api/management/chrome_management_api_delegat
e.h" | 10 #include "chrome/browser/extensions/api/management/chrome_management_api_delegat
e.h" |
| 11 #include "chrome/browser/extensions/api/storage/sync_value_store_cache.h" | 11 #include "chrome/browser/extensions/api/storage/sync_value_store_cache.h" |
| 12 #include "chrome/browser/extensions/api/web_request/chrome_extension_web_request
_event_router_delegate.h" | 12 #include "chrome/browser/extensions/api/web_request/chrome_extension_web_request
_event_router_delegate.h" |
| 13 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" |
| 14 #include "chrome/browser/favicon/favicon_helper.h" |
| 13 #include "chrome/browser/guest_view/app_view/chrome_app_view_guest_delegate.h" | 15 #include "chrome/browser/guest_view/app_view/chrome_app_view_guest_delegate.h" |
| 14 #include "chrome/browser/guest_view/extension_options/chrome_extension_options_g
uest_delegate.h" | 16 #include "chrome/browser/guest_view/extension_options/chrome_extension_options_g
uest_delegate.h" |
| 15 #include "chrome/browser/guest_view/extension_view/chrome_extension_view_guest_d
elegate.h" | |
| 16 #include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_g
uest_delegate.h" | 17 #include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_g
uest_delegate.h" |
| 17 #include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h" | 18 #include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h" |
| 18 #include "chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_d
elegate.h" | 19 #include "chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_d
elegate.h" |
| 20 #include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h" |
| 21 #include "components/pdf/browser/pdf_web_contents_helper.h" |
| 19 #include "content/public/browser/browser_context.h" | 22 #include "content/public/browser/browser_context.h" |
| 20 #include "content/public/browser/browser_thread.h" | 23 #include "content/public/browser/browser_thread.h" |
| 21 #include "extensions/browser/api/virtual_keyboard_private/virtual_keyboard_deleg
ate.h" | 24 #include "extensions/browser/api/virtual_keyboard_private/virtual_keyboard_deleg
ate.h" |
| 22 #include "extensions/browser/guest_view/web_view/web_view_guest.h" | 25 #include "extensions/browser/guest_view/web_view/web_view_guest.h" |
| 23 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" | 26 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" |
| 24 | 27 |
| 25 #if defined(ENABLE_CONFIGURATION_POLICY) | 28 #if defined(ENABLE_CONFIGURATION_POLICY) |
| 26 #include "chrome/browser/extensions/api/storage/managed_value_store_cache.h" | 29 #include "chrome/browser/extensions/api/storage/managed_value_store_cache.h" |
| 27 #endif | 30 #endif |
| 28 | 31 |
| 29 #if defined(OS_CHROMEOS) | 32 #if defined(OS_CHROMEOS) |
| 30 #include "chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_
keyboard_delegate.h" | 33 #include "chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_
keyboard_delegate.h" |
| 31 #endif | 34 #endif |
| 32 | 35 |
| 36 #if defined(ENABLE_PRINTING) |
| 37 #if defined(ENABLE_PRINT_PREVIEW) |
| 38 #include "chrome/browser/printing/print_preview_message_handler.h" |
| 39 #include "chrome/browser/printing/print_view_manager.h" |
| 40 #else |
| 41 #include "chrome/browser/printing/print_view_manager_basic.h" |
| 42 #endif // defined(ENABLE_PRINT_PREVIEW) |
| 43 #endif // defined(ENABLE_PRINTING) |
| 44 |
| 33 namespace extensions { | 45 namespace extensions { |
| 34 | 46 |
| 35 ChromeExtensionsAPIClient::ChromeExtensionsAPIClient() {} | 47 ChromeExtensionsAPIClient::ChromeExtensionsAPIClient() {} |
| 36 | 48 |
| 37 ChromeExtensionsAPIClient::~ChromeExtensionsAPIClient() {} | 49 ChromeExtensionsAPIClient::~ChromeExtensionsAPIClient() {} |
| 38 | 50 |
| 39 void ChromeExtensionsAPIClient::AddAdditionalValueStoreCaches( | 51 void ChromeExtensionsAPIClient::AddAdditionalValueStoreCaches( |
| 40 content::BrowserContext* context, | 52 content::BrowserContext* context, |
| 41 const scoped_refptr<SettingsStorageFactory>& factory, | 53 const scoped_refptr<SettingsStorageFactory>& factory, |
| 42 const scoped_refptr<base::ObserverListThreadSafe<SettingsObserver>>& | 54 const scoped_refptr<base::ObserverListThreadSafe<SettingsObserver>>& |
| 43 observers, | 55 observers, |
| 44 std::map<settings_namespace::Namespace, ValueStoreCache*>* caches) { | 56 std::map<settings_namespace::Namespace, ValueStoreCache*>* caches) { |
| 45 // Add support for chrome.storage.sync. | 57 // Add support for chrome.storage.sync. |
| 46 (*caches)[settings_namespace::SYNC] = | 58 (*caches)[settings_namespace::SYNC] = |
| 47 new SyncValueStoreCache(factory, observers, context->GetPath()); | 59 new SyncValueStoreCache(factory, observers, context->GetPath()); |
| 48 | 60 |
| 49 #if defined(ENABLE_CONFIGURATION_POLICY) | 61 #if defined(ENABLE_CONFIGURATION_POLICY) |
| 50 // Add support for chrome.storage.managed. | 62 // Add support for chrome.storage.managed. |
| 51 (*caches)[settings_namespace::MANAGED] = | 63 (*caches)[settings_namespace::MANAGED] = |
| 52 new ManagedValueStoreCache(context, factory, observers); | 64 new ManagedValueStoreCache(context, factory, observers); |
| 53 #endif | 65 #endif |
| 54 } | 66 } |
| 55 | 67 |
| 68 void ChromeExtensionsAPIClient::AttachWebContentsHelpers( |
| 69 content::WebContents* web_contents) const { |
| 70 favicon::CreateContentFaviconDriverForWebContents(web_contents); |
| 71 #if defined(ENABLE_PRINTING) |
| 72 #if defined(ENABLE_PRINT_PREVIEW) |
| 73 printing::PrintViewManager::CreateForWebContents(web_contents); |
| 74 printing::PrintPreviewMessageHandler::CreateForWebContents(web_contents); |
| 75 #else |
| 76 printing::PrintViewManagerBasic::CreateForWebContents(web_contents); |
| 77 #endif // defined(ENABLE_PRINT_PREVIEW) |
| 78 #endif // defined(ENABLE_PRINTING) |
| 79 pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( |
| 80 web_contents, |
| 81 scoped_ptr<pdf::PDFWebContentsHelperClient>( |
| 82 new ChromePDFWebContentsHelperClient())); |
| 83 |
| 84 extensions::ChromeExtensionWebContentsObserver::CreateForWebContents( |
| 85 web_contents); |
| 86 } |
| 87 |
| 56 AppViewGuestDelegate* ChromeExtensionsAPIClient::CreateAppViewGuestDelegate() | 88 AppViewGuestDelegate* ChromeExtensionsAPIClient::CreateAppViewGuestDelegate() |
| 57 const { | 89 const { |
| 58 return new ChromeAppViewGuestDelegate(); | 90 return new ChromeAppViewGuestDelegate(); |
| 59 } | 91 } |
| 60 | 92 |
| 61 ExtensionOptionsGuestDelegate* | 93 ExtensionOptionsGuestDelegate* |
| 62 ChromeExtensionsAPIClient::CreateExtensionOptionsGuestDelegate( | 94 ChromeExtensionsAPIClient::CreateExtensionOptionsGuestDelegate( |
| 63 ExtensionOptionsGuest* guest) const { | 95 ExtensionOptionsGuest* guest) const { |
| 64 return new ChromeExtensionOptionsGuestDelegate(guest); | 96 return new ChromeExtensionOptionsGuestDelegate(guest); |
| 65 } | 97 } |
| 66 | 98 |
| 67 ExtensionViewGuestDelegate* | |
| 68 ChromeExtensionsAPIClient::CreateExtensionViewGuestDelegate( | |
| 69 ExtensionViewGuest* guest) const { | |
| 70 return new ChromeExtensionViewGuestDelegate(guest); | |
| 71 } | |
| 72 | |
| 73 scoped_ptr<MimeHandlerViewGuestDelegate> | 99 scoped_ptr<MimeHandlerViewGuestDelegate> |
| 74 ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( | 100 ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( |
| 75 MimeHandlerViewGuest* guest) const { | 101 MimeHandlerViewGuest* guest) const { |
| 76 return make_scoped_ptr(new ChromeMimeHandlerViewGuestDelegate(guest)); | 102 return make_scoped_ptr(new ChromeMimeHandlerViewGuestDelegate()); |
| 77 } | 103 } |
| 78 | 104 |
| 79 WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate( | 105 WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate( |
| 80 WebViewGuest* web_view_guest) const { | 106 WebViewGuest* web_view_guest) const { |
| 81 return new ChromeWebViewGuestDelegate(web_view_guest); | 107 return new ChromeWebViewGuestDelegate(web_view_guest); |
| 82 } | 108 } |
| 83 | 109 |
| 84 WebViewPermissionHelperDelegate* ChromeExtensionsAPIClient:: | 110 WebViewPermissionHelperDelegate* ChromeExtensionsAPIClient:: |
| 85 CreateWebViewPermissionHelperDelegate( | 111 CreateWebViewPermissionHelperDelegate( |
| 86 WebViewPermissionHelper* web_view_permission_helper) const { | 112 WebViewPermissionHelper* web_view_permission_helper) const { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 114 return nullptr; | 140 return nullptr; |
| 115 #endif | 141 #endif |
| 116 } | 142 } |
| 117 | 143 |
| 118 ManagementAPIDelegate* ChromeExtensionsAPIClient::CreateManagementAPIDelegate() | 144 ManagementAPIDelegate* ChromeExtensionsAPIClient::CreateManagementAPIDelegate() |
| 119 const { | 145 const { |
| 120 return new ChromeManagementAPIDelegate; | 146 return new ChromeManagementAPIDelegate; |
| 121 } | 147 } |
| 122 | 148 |
| 123 } // namespace extensions | 149 } // namespace extensions |
| OLD | NEW |