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 |