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

Side by Side Diff: chrome/browser/extensions/chrome_extensions_browser_client.cc

Issue 2379573008: Add SetImageData api to chrome.clipboard. (Closed)
Patch Set: Address code review comments and add test cases. Created 4 years 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/chrome_extensions_browser_client.h" 5 #include "chrome/browser/extensions/chrome_extensions_browser_client.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/version.h" 11 #include "base/version.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "chrome/browser/app_mode/app_mode_utils.h" 13 #include "chrome/browser/app_mode/app_mode_utils.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/extensions/activity_log/activity_log.h" 15 #include "chrome/browser/extensions/activity_log/activity_log.h"
16 #include "chrome/browser/extensions/api/chrome_extensions_api_client.h" 16 #include "chrome/browser/extensions/api/chrome_extensions_api_client.h"
17 #include "chrome/browser/extensions/api/content_settings/content_settings_servic e.h" 17 #include "chrome/browser/extensions/api/content_settings/content_settings_servic e.h"
18 #include "chrome/browser/extensions/api/generated_api_registration.h" 18 #include "chrome/browser/extensions/api/generated_api_registration.h"
19 #include "chrome/browser/extensions/api/preference/chrome_direct_setting.h" 19 #include "chrome/browser/extensions/api/preference/chrome_direct_setting.h"
20 #include "chrome/browser/extensions/api/preference/preference_api.h" 20 #include "chrome/browser/extensions/api/preference/preference_api.h"
21 #include "chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h" 21 #include "chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h"
22 #include "chrome/browser/extensions/chrome_component_extension_resource_manager. h" 22 #include "chrome/browser/extensions/chrome_component_extension_resource_manager. h"
23 #include "chrome/browser/extensions/chrome_extension_api_frame_id_map_helper.h" 23 #include "chrome/browser/extensions/chrome_extension_api_frame_id_map_helper.h"
24 #include "chrome/browser/extensions/chrome_extension_host_delegate.h" 24 #include "chrome/browser/extensions/chrome_extension_host_delegate.h"
25 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" 25 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
26 #include "chrome/browser/extensions/chrome_kiosk_delegate.h" 26 #include "chrome/browser/extensions/chrome_kiosk_delegate.h"
27 #include "chrome/browser/extensions/chrome_mojo_service_registration.h" 27 #include "chrome/browser/extensions/chrome_mojo_service_registration.h"
28 #include "chrome/browser/extensions/chrome_process_manager_delegate.h" 28 #include "chrome/browser/extensions/chrome_process_manager_delegate.h"
29 #include "chrome/browser/extensions/chrome_url_request_util.h" 29 #include "chrome/browser/extensions/chrome_url_request_util.h"
30 #include "chrome/browser/extensions/clipboard_extension_helper.h"
30 #include "chrome/browser/extensions/error_console/error_console.h" 31 #include "chrome/browser/extensions/error_console/error_console.h"
31 #include "chrome/browser/extensions/event_router_forwarder.h" 32 #include "chrome/browser/extensions/event_router_forwarder.h"
32 #include "chrome/browser/extensions/extension_system_factory.h" 33 #include "chrome/browser/extensions/extension_system_factory.h"
33 #include "chrome/browser/extensions/extension_util.h" 34 #include "chrome/browser/extensions/extension_util.h"
34 #include "chrome/browser/extensions/menu_manager.h" 35 #include "chrome/browser/extensions/menu_manager.h"
35 #include "chrome/browser/extensions/updater/chrome_update_client_config.h" 36 #include "chrome/browser/extensions/updater/chrome_update_client_config.h"
36 #include "chrome/browser/external_protocol/external_protocol_handler.h" 37 #include "chrome/browser/external_protocol/external_protocol_handler.h"
37 #include "chrome/browser/profiles/profile.h" 38 #include "chrome/browser/profiles/profile.h"
38 #include "chrome/browser/profiles/profile_manager.h" 39 #include "chrome/browser/profiles/profile_manager.h"
39 #include "chrome/browser/renderer_host/chrome_navigation_ui_data.h" 40 #include "chrome/browser/renderer_host/chrome_navigation_ui_data.h"
(...skipping 30 matching lines...) Expand all
70 71
71 namespace extensions { 72 namespace extensions {
72 73
73 ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() { 74 ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() {
74 process_manager_delegate_.reset(new ChromeProcessManagerDelegate); 75 process_manager_delegate_.reset(new ChromeProcessManagerDelegate);
75 api_client_.reset(new ChromeExtensionsAPIClient); 76 api_client_.reset(new ChromeExtensionsAPIClient);
76 // Only set if it hasn't already been set (e.g. by a test). 77 // Only set if it hasn't already been set (e.g. by a test).
77 if (GetCurrentChannel() == GetDefaultChannel()) 78 if (GetCurrentChannel() == GetDefaultChannel())
78 SetCurrentChannel(chrome::GetChannel()); 79 SetCurrentChannel(chrome::GetChannel());
79 resource_manager_.reset(new ChromeComponentExtensionResourceManager()); 80 resource_manager_.reset(new ChromeComponentExtensionResourceManager());
81 clipboard_extension_helper_.reset(new ClipboardExtensionHelper());
80 } 82 }
81 83
82 ChromeExtensionsBrowserClient::~ChromeExtensionsBrowserClient() {} 84 ChromeExtensionsBrowserClient::~ChromeExtensionsBrowserClient() {}
83 85
84 bool ChromeExtensionsBrowserClient::IsShuttingDown() { 86 bool ChromeExtensionsBrowserClient::IsShuttingDown() {
85 return g_browser_process->IsShuttingDown(); 87 return g_browser_process->IsShuttingDown();
86 } 88 }
87 89
88 bool ChromeExtensionsBrowserClient::AreExtensionsDisabled( 90 bool ChromeExtensionsBrowserClient::AreExtensionsDisabled(
89 const base::CommandLine& command_line, 91 const base::CommandLine& command_line,
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 base::Version browser_version = 331 base::Version browser_version =
330 base::Version(version_info::GetVersionNumber()); 332 base::Version(version_info::GetVersionNumber());
331 base::Version browser_min_version(min_version); 333 base::Version browser_min_version(min_version);
332 if (browser_version.IsValid() && browser_min_version.IsValid() && 334 if (browser_version.IsValid() && browser_min_version.IsValid() &&
333 browser_min_version.CompareTo(browser_version) > 0) { 335 browser_min_version.CompareTo(browser_version) > 0) {
334 return false; 336 return false;
335 } 337 }
336 return true; 338 return true;
337 } 339 }
338 340
341 void ChromeExtensionsBrowserClient::SaveImageDataToClipboard(
342 const std::vector<char>& image_data,
343 clipboard::ImageType type,
344 const base::Closure& success_callback,
345 const base::Closure& error_callback) {
346 clipboard_extension_helper_->DecodeAndSaveImageData(
347 image_data, type, success_callback, error_callback);
348 }
349
339 ExtensionWebContentsObserver* 350 ExtensionWebContentsObserver*
340 ChromeExtensionsBrowserClient::GetExtensionWebContentsObserver( 351 ChromeExtensionsBrowserClient::GetExtensionWebContentsObserver(
341 content::WebContents* web_contents) { 352 content::WebContents* web_contents) {
342 return ChromeExtensionWebContentsObserver::FromWebContents(web_contents); 353 return ChromeExtensionWebContentsObserver::FromWebContents(web_contents);
343 } 354 }
344 355
345 void ChromeExtensionsBrowserClient::ReportError( 356 void ChromeExtensionsBrowserClient::ReportError(
346 content::BrowserContext* context, 357 content::BrowserContext* context,
347 std::unique_ptr<ExtensionError> error) { 358 std::unique_ptr<ExtensionError> error) {
348 ErrorConsole::Get(context)->ReportError(std::move(error)); 359 ErrorConsole::Get(context)->ReportError(std::move(error));
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 return navigation_data->GetExtensionNavigationUIData(); 445 return navigation_data->GetExtensionNavigationUIData();
435 } 446 }
436 447
437 KioskDelegate* ChromeExtensionsBrowserClient::GetKioskDelegate() { 448 KioskDelegate* ChromeExtensionsBrowserClient::GetKioskDelegate() {
438 if (!kiosk_delegate_) 449 if (!kiosk_delegate_)
439 kiosk_delegate_.reset(new ChromeKioskDelegate()); 450 kiosk_delegate_.reset(new ChromeKioskDelegate());
440 return kiosk_delegate_.get(); 451 return kiosk_delegate_.get();
441 } 452 }
442 453
443 } // namespace extensions 454 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698