OLD | NEW |
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/browser/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 #include "chrome/browser/chromeos/fileapi/file_system_backend.h" | 149 #include "chrome/browser/chromeos/fileapi/file_system_backend.h" |
150 #include "chrome/browser/chromeos/fileapi/mtp_file_system_backend_delegate.h" | 150 #include "chrome/browser/chromeos/fileapi/mtp_file_system_backend_delegate.h" |
151 #include "chrome/browser/chromeos/login/startup_utils.h" | 151 #include "chrome/browser/chromeos/login/startup_utils.h" |
152 #include "chrome/browser/chromeos/system/input_device_settings.h" | 152 #include "chrome/browser/chromeos/system/input_device_settings.h" |
153 #include "chromeos/chromeos_switches.h" | 153 #include "chromeos/chromeos_switches.h" |
154 #include "components/user_manager/user_manager.h" | 154 #include "components/user_manager/user_manager.h" |
155 #elif defined(OS_LINUX) | 155 #elif defined(OS_LINUX) |
156 #include "chrome/browser/chrome_browser_main_linux.h" | 156 #include "chrome/browser/chrome_browser_main_linux.h" |
157 #elif defined(OS_ANDROID) | 157 #elif defined(OS_ANDROID) |
158 #include "chrome/browser/android/new_tab_page_url_handler.h" | 158 #include "chrome/browser/android/new_tab_page_url_handler.h" |
| 159 #include "chrome/browser/android/service_tab_creator.h" |
159 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" | 160 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" |
160 #include "chrome/browser/chrome_browser_main_android.h" | 161 #include "chrome/browser/chrome_browser_main_android.h" |
161 #include "chrome/common/descriptors_android.h" | 162 #include "chrome/common/descriptors_android.h" |
162 #include "components/crash/browser/crash_dump_manager_android.h" | 163 #include "components/crash/browser/crash_dump_manager_android.h" |
163 #elif defined(OS_POSIX) | 164 #elif defined(OS_POSIX) |
164 #include "chrome/browser/chrome_browser_main_posix.h" | 165 #include "chrome/browser/chrome_browser_main_posix.h" |
165 #endif | 166 #endif |
166 | 167 |
167 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 168 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
168 #include "chrome/browser/media/protected_media_identifier_permission_context.h" | 169 #include "chrome/browser/media/protected_media_identifier_permission_context.h" |
(...skipping 2409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2578 | 2579 |
2579 bool ChromeContentBrowserClient::CheckMediaAccessPermission( | 2580 bool ChromeContentBrowserClient::CheckMediaAccessPermission( |
2580 content::BrowserContext* browser_context, | 2581 content::BrowserContext* browser_context, |
2581 const GURL& security_origin, | 2582 const GURL& security_origin, |
2582 content::MediaStreamType type) { | 2583 content::MediaStreamType type) { |
2583 return MediaCaptureDevicesDispatcher::GetInstance() | 2584 return MediaCaptureDevicesDispatcher::GetInstance() |
2584 ->CheckMediaAccessPermission( | 2585 ->CheckMediaAccessPermission( |
2585 browser_context, security_origin, type); | 2586 browser_context, security_origin, type); |
2586 } | 2587 } |
2587 | 2588 |
2588 content::WebContents* ChromeContentBrowserClient::OpenURL( | 2589 void ChromeContentBrowserClient::OpenURL( |
2589 content::BrowserContext* browser_context, | 2590 content::BrowserContext* browser_context, |
2590 const content::OpenURLParams& params) { | 2591 const content::OpenURLParams& params, |
| 2592 base::Callback<void(content::WebContents*)> callback) { |
2591 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 2593 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
2592 | 2594 |
2593 #if !defined(OS_ANDROID) && !defined(OS_IOS) | 2595 #if !defined(OS_ANDROID) && !defined(OS_IOS) |
2594 NavigateParams nav_params(Profile::FromBrowserContext(browser_context), | 2596 NavigateParams nav_params(Profile::FromBrowserContext(browser_context), |
2595 params.url, | 2597 params.url, |
2596 params.transition); | 2598 params.transition); |
2597 FillNavigateParamsFromOpenURLParams(&nav_params, params); | 2599 FillNavigateParamsFromOpenURLParams(&nav_params, params); |
2598 nav_params.user_gesture = params.user_gesture; | 2600 nav_params.user_gesture = params.user_gesture; |
2599 | 2601 |
2600 Navigate(&nav_params); | 2602 Navigate(&nav_params); |
2601 return nav_params.target_contents; | 2603 callback.Run(nav_params.target_contents); |
| 2604 #elif defined(OS_ANDROID) |
| 2605 ServiceTabCreator::GetInstance()->CreateTab(browser_context, |
| 2606 params, |
| 2607 callback); |
2602 #else | 2608 #else |
2603 // TODO(mlamouri): write a chrome::Navigate() method for Android and iOS. | 2609 // TODO(mlamouri): write a chrome::Navigate() method for iOS. |
2604 // See https://crbug.com/448409. | 2610 // See https://crbug.com/448409. |
2605 return nullptr; | 2611 NOTIMPLEMENTED(); |
2606 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) | 2612 #endif |
2607 } | 2613 } |
2608 | 2614 |
2609 content::DevToolsManagerDelegate* | 2615 content::DevToolsManagerDelegate* |
2610 ChromeContentBrowserClient::GetDevToolsManagerDelegate() { | 2616 ChromeContentBrowserClient::GetDevToolsManagerDelegate() { |
2611 #if defined(OS_ANDROID) | 2617 #if defined(OS_ANDROID) |
2612 return new DevToolsManagerDelegateAndroid(); | 2618 return new DevToolsManagerDelegateAndroid(); |
2613 #else | 2619 #else |
2614 return new ChromeDevToolsManagerDelegate(); | 2620 return new ChromeDevToolsManagerDelegate(); |
2615 #endif | 2621 #endif |
2616 } | 2622 } |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2685 switches::kDisableWebRtcEncryption, | 2691 switches::kDisableWebRtcEncryption, |
2686 }; | 2692 }; |
2687 to_command_line->CopySwitchesFrom(from_command_line, | 2693 to_command_line->CopySwitchesFrom(from_command_line, |
2688 kWebRtcDevSwitchNames, | 2694 kWebRtcDevSwitchNames, |
2689 arraysize(kWebRtcDevSwitchNames)); | 2695 arraysize(kWebRtcDevSwitchNames)); |
2690 } | 2696 } |
2691 } | 2697 } |
2692 #endif // defined(ENABLE_WEBRTC) | 2698 #endif // defined(ENABLE_WEBRTC) |
2693 | 2699 |
2694 } // namespace chrome | 2700 } // namespace chrome |
OLD | NEW |