Chromium Code Reviews| 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 <map> | 7 #include <map> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 251 #elif defined(OS_POSIX) | 251 #elif defined(OS_POSIX) |
| 252 #include "chrome/browser/chrome_browser_main_posix.h" | 252 #include "chrome/browser/chrome_browser_main_posix.h" |
| 253 #endif | 253 #endif |
| 254 | 254 |
| 255 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 255 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 256 #include "base/debug/leak_annotations.h" | 256 #include "base/debug/leak_annotations.h" |
| 257 #include "components/crash/content/app/breakpad_linux.h" | 257 #include "components/crash/content/app/breakpad_linux.h" |
| 258 #include "components/crash/content/browser/crash_handler_host_linux.h" | 258 #include "components/crash/content/browser/crash_handler_host_linux.h" |
| 259 #endif | 259 #endif |
| 260 | 260 |
| 261 #if BUILDFLAG(ANDROID_JAVA_UI) | 261 #if defined(OS_ANDROID) |
| 262 #include "chrome/browser/android/ntp/new_tab_page_url_handler.h" | 262 #include "chrome/browser/android/ntp/new_tab_page_url_handler.h" |
| 263 #include "chrome/browser/android/service_tab_launcher.h" | 263 #include "chrome/browser/android/service_tab_launcher.h" |
| 264 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" | 264 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" |
| 265 #include "content/public/browser/android/java_interfaces.h" | 265 #include "content/public/browser/android/java_interfaces.h" |
| 266 #endif | 266 #endif |
| 267 | 267 |
| 268 #if defined(OS_ANDROID) | 268 #if defined(OS_ANDROID) |
|
Ted C
2017/01/06 22:33:30
combine with above
F
2017/01/09 21:36:32
Done.
| |
| 269 #include "chrome/browser/android/devtools_manager_delegate_android.h" | 269 #include "chrome/browser/android/devtools_manager_delegate_android.h" |
| 270 #include "ui/base/ui_base_paths.h" | 270 #include "ui/base/ui_base_paths.h" |
| 271 #include "ui/gfx/android/device_display_info.h" | 271 #include "ui/gfx/android/device_display_info.h" |
| 272 #else | 272 #else |
| 273 #include "chrome/browser/devtools/chrome_devtools_manager_delegate.h" | 273 #include "chrome/browser/devtools/chrome_devtools_manager_delegate.h" |
| 274 #endif | 274 #endif |
| 275 | 275 |
| 276 #if defined(TOOLKIT_VIEWS) | 276 #if defined(TOOLKIT_VIEWS) |
| 277 #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h" | 277 #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h" |
| 278 #endif | 278 #endif |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 688 const std::string& serialized_report) override { | 688 const std::string& serialized_report) override { |
| 689 service_->Send(serialized_report); | 689 service_->Send(serialized_report); |
| 690 } | 690 } |
| 691 | 691 |
| 692 private: | 692 private: |
| 693 CertificateReportingService* service_; | 693 CertificateReportingService* service_; |
| 694 | 694 |
| 695 DISALLOW_COPY_AND_ASSIGN(CertificateReportingServiceCertReporter); | 695 DISALLOW_COPY_AND_ASSIGN(CertificateReportingServiceCertReporter); |
| 696 }; | 696 }; |
| 697 | 697 |
| 698 #if BUILDFLAG(ANDROID_JAVA_UI) | 698 #if defined(OS_ANDROID) |
| 699 void HandleSingleTabModeBlockOnUIThread(const BlockedWindowParams& params) { | 699 void HandleSingleTabModeBlockOnUIThread(const BlockedWindowParams& params) { |
| 700 WebContents* web_contents = tab_util::GetWebContentsByFrameID( | 700 WebContents* web_contents = tab_util::GetWebContentsByFrameID( |
| 701 params.render_process_id(), params.opener_render_frame_id()); | 701 params.render_process_id(), params.opener_render_frame_id()); |
| 702 if (!web_contents) | 702 if (!web_contents) |
| 703 return; | 703 return; |
| 704 | 704 |
| 705 SingleTabModeTabHelper::FromWebContents(web_contents)->HandleOpenUrl(params); | 705 SingleTabModeTabHelper::FromWebContents(web_contents)->HandleOpenUrl(params); |
| 706 } | 706 } |
| 707 #endif // BUILDFLAG(ANDROID_JAVA_UI) | 707 #endif // defined(OS_ANDROID) |
| 708 | 708 |
| 709 #if defined(OS_ANDROID) | 709 #if defined(OS_ANDROID) |
|
Ted C
2017/01/06 22:33:30
combine with above
F
2017/01/09 21:36:32
Done.
| |
| 710 float GetDeviceScaleAdjustment() { | 710 float GetDeviceScaleAdjustment() { |
| 711 static const float kMinFSM = 1.05f; | 711 static const float kMinFSM = 1.05f; |
| 712 static const int kWidthForMinFSM = 320; | 712 static const int kWidthForMinFSM = 320; |
| 713 static const float kMaxFSM = 1.3f; | 713 static const float kMaxFSM = 1.3f; |
| 714 static const int kWidthForMaxFSM = 800; | 714 static const int kWidthForMaxFSM = 800; |
| 715 | 715 |
| 716 gfx::DeviceDisplayInfo info; | 716 gfx::DeviceDisplayInfo info; |
| 717 int minWidth = info.GetSmallestDIPWidth(); | 717 int minWidth = info.GetSmallestDIPWidth(); |
| 718 | 718 |
| 719 if (minWidth <= kWidthForMinFSM) | 719 if (minWidth <= kWidthForMinFSM) |
| (...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1519 // this point. | 1519 // this point. |
| 1520 LOG(WARNING) << "Received field trial params, " | 1520 LOG(WARNING) << "Received field trial params, " |
| 1521 "but blink-settings switch already specified."; | 1521 "but blink-settings switch already specified."; |
| 1522 return; | 1522 return; |
| 1523 } | 1523 } |
| 1524 | 1524 |
| 1525 command_line->AppendSwitchASCII(switches::kBlinkSettings, | 1525 command_line->AppendSwitchASCII(switches::kBlinkSettings, |
| 1526 base::JoinString(blink_settings, ",")); | 1526 base::JoinString(blink_settings, ",")); |
| 1527 } | 1527 } |
| 1528 | 1528 |
| 1529 #if BUILDFLAG(ANDROID_JAVA_UI) | 1529 #if defined(OS_ANDROID) |
| 1530 void ForwardShareServiceRequest( | 1530 void ForwardShareServiceRequest( |
| 1531 base::WeakPtr<service_manager::InterfaceProvider> interface_provider, | 1531 base::WeakPtr<service_manager::InterfaceProvider> interface_provider, |
| 1532 blink::mojom::ShareServiceRequest request) { | 1532 blink::mojom::ShareServiceRequest request) { |
| 1533 if (!interface_provider || | 1533 if (!interface_provider || |
| 1534 ChromeOriginTrialPolicy().IsFeatureDisabled("WebShare")) { | 1534 ChromeOriginTrialPolicy().IsFeatureDisabled("WebShare")) { |
| 1535 return; | 1535 return; |
| 1536 } | 1536 } |
| 1537 interface_provider->GetInterface(std::move(request)); | 1537 interface_provider->GetInterface(std::move(request)); |
| 1538 } | 1538 } |
| 1539 #endif | 1539 #endif |
| (...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2370 std::string()) != | 2370 std::string()) != |
| 2371 CONTENT_SETTING_ALLOW) { | 2371 CONTENT_SETTING_ALLOW) { |
| 2372 BrowserThread::PostTask(BrowserThread::UI, | 2372 BrowserThread::PostTask(BrowserThread::UI, |
| 2373 FROM_HERE, | 2373 FROM_HERE, |
| 2374 base::Bind(&HandleBlockedPopupOnUIThread, | 2374 base::Bind(&HandleBlockedPopupOnUIThread, |
| 2375 blocked_params)); | 2375 blocked_params)); |
| 2376 return false; | 2376 return false; |
| 2377 } | 2377 } |
| 2378 } | 2378 } |
| 2379 | 2379 |
| 2380 #if BUILDFLAG(ANDROID_JAVA_UI) | 2380 #if defined(OS_ANDROID) |
| 2381 if (SingleTabModeTabHelper::IsRegistered(opener_render_process_id, | 2381 if (SingleTabModeTabHelper::IsRegistered(opener_render_process_id, |
| 2382 opener_render_frame_id)) { | 2382 opener_render_frame_id)) { |
| 2383 BrowserThread::PostTask(BrowserThread::UI, | 2383 BrowserThread::PostTask(BrowserThread::UI, |
| 2384 FROM_HERE, | 2384 FROM_HERE, |
| 2385 base::Bind(&HandleSingleTabModeBlockOnUIThread, | 2385 base::Bind(&HandleSingleTabModeBlockOnUIThread, |
| 2386 blocked_params)); | 2386 blocked_params)); |
| 2387 return false; | 2387 return false; |
| 2388 } | 2388 } |
| 2389 #endif | 2389 #endif |
| 2390 | 2390 |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2543 for (size_t i = 0; i < extra_parts_.size(); ++i) | 2543 for (size_t i = 0; i < extra_parts_.size(); ++i) |
| 2544 extra_parts_[i]->BrowserURLHandlerCreated(handler); | 2544 extra_parts_[i]->BrowserURLHandlerCreated(handler); |
| 2545 | 2545 |
| 2546 // about: handler. Must come before chrome: handler, since it will | 2546 // about: handler. Must come before chrome: handler, since it will |
| 2547 // rewrite about: urls to chrome: URLs and then expect chrome: to | 2547 // rewrite about: urls to chrome: URLs and then expect chrome: to |
| 2548 // actually handle them. Also relies on a preliminary fixup phase. | 2548 // actually handle them. Also relies on a preliminary fixup phase. |
| 2549 handler->SetFixupHandler(&FixupBrowserAboutURL); | 2549 handler->SetFixupHandler(&FixupBrowserAboutURL); |
| 2550 handler->AddHandlerPair(&WillHandleBrowserAboutURL, | 2550 handler->AddHandlerPair(&WillHandleBrowserAboutURL, |
| 2551 BrowserURLHandler::null_handler()); | 2551 BrowserURLHandler::null_handler()); |
| 2552 | 2552 |
| 2553 #if BUILDFLAG(ANDROID_JAVA_UI) | 2553 #if defined(OS_ANDROID) |
| 2554 // Handler to rewrite chrome://newtab on Android. | 2554 // Handler to rewrite chrome://newtab on Android. |
| 2555 handler->AddHandlerPair(&chrome::android::HandleAndroidNativePageURL, | 2555 handler->AddHandlerPair(&chrome::android::HandleAndroidNativePageURL, |
| 2556 BrowserURLHandler::null_handler()); | 2556 BrowserURLHandler::null_handler()); |
| 2557 #else | 2557 #else |
| 2558 // Handler to rewrite chrome://newtab for InstantExtended. | 2558 // Handler to rewrite chrome://newtab for InstantExtended. |
| 2559 handler->AddHandlerPair(&search::HandleNewTabURLRewrite, | 2559 handler->AddHandlerPair(&search::HandleNewTabURLRewrite, |
| 2560 &search::HandleNewTabURLReverseRewrite); | 2560 &search::HandleNewTabURLReverseRewrite); |
| 2561 #endif | 2561 #endif |
| 2562 | 2562 |
| 2563 // chrome: & friends. | 2563 // chrome: & friends. |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2994 registry->AddInterface( | 2994 registry->AddInterface( |
| 2995 base::Bind(&password_manager::ContentPasswordManagerDriverFactory:: | 2995 base::Bind(&password_manager::ContentPasswordManagerDriverFactory:: |
| 2996 BindPasswordManagerDriver, | 2996 BindPasswordManagerDriver, |
| 2997 render_frame_host)); | 2997 render_frame_host)); |
| 2998 | 2998 |
| 2999 registry->AddInterface( | 2999 registry->AddInterface( |
| 3000 base::Bind(&password_manager::ContentPasswordManagerDriverFactory:: | 3000 base::Bind(&password_manager::ContentPasswordManagerDriverFactory:: |
| 3001 BindSensitiveInputVisibilityService, | 3001 BindSensitiveInputVisibilityService, |
| 3002 render_frame_host)); | 3002 render_frame_host)); |
| 3003 | 3003 |
| 3004 #if BUILDFLAG(ANDROID_JAVA_UI) | 3004 #if defined(OS_ANDROID) |
| 3005 content::WebContents* web_contents = | 3005 content::WebContents* web_contents = |
| 3006 content::WebContents::FromRenderFrameHost(render_frame_host); | 3006 content::WebContents::FromRenderFrameHost(render_frame_host); |
| 3007 if (web_contents) { | 3007 if (web_contents) { |
| 3008 registry->AddInterface( | 3008 registry->AddInterface( |
| 3009 web_contents->GetJavaInterfaces() | 3009 web_contents->GetJavaInterfaces() |
| 3010 ->CreateInterfaceFactory<payments::mojom::PaymentRequest>()); | 3010 ->CreateInterfaceFactory<payments::mojom::PaymentRequest>()); |
| 3011 registry->AddInterface( | 3011 registry->AddInterface( |
| 3012 base::Bind(&ForwardShareServiceRequest, | 3012 base::Bind(&ForwardShareServiceRequest, |
| 3013 web_contents->GetJavaInterfaces()->GetWeakPtr())); | 3013 web_contents->GetJavaInterfaces()->GetWeakPtr())); |
| 3014 } | 3014 } |
| 3015 #elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) | 3015 #elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) |
| 3016 if (AreExperimentalWebPlatformFeaturesEnabled()) { | 3016 if (AreExperimentalWebPlatformFeaturesEnabled()) { |
| 3017 content::WebContents* web_contents = | 3017 content::WebContents* web_contents = |
| 3018 content::WebContents::FromRenderFrameHost(render_frame_host); | 3018 content::WebContents::FromRenderFrameHost(render_frame_host); |
| 3019 if (web_contents) { | 3019 if (web_contents) { |
| 3020 registry->AddInterface( | 3020 registry->AddInterface( |
| 3021 base::Bind(CreatePaymentRequestHandler, web_contents)); | 3021 base::Bind(CreatePaymentRequestHandler, web_contents)); |
| 3022 } | 3022 } |
| 3023 } | 3023 } |
| 3024 #endif | 3024 #endif |
| 3025 | 3025 |
| 3026 #if defined(OS_ANDROID) | 3026 #if defined(OS_ANDROID) |
| 3027 if (AreExperimentalWebPlatformFeaturesEnabled()) { | 3027 if (AreExperimentalWebPlatformFeaturesEnabled()) { |
|
Ted C
2017/01/06 22:33:30
move up into one above?
F
2017/01/09 21:36:32
Done.
| |
| 3028 content::WebContents* web_contents = | 3028 content::WebContents* web_contents = |
| 3029 content::WebContents::FromRenderFrameHost(render_frame_host); | 3029 content::WebContents::FromRenderFrameHost(render_frame_host); |
| 3030 if (web_contents) { | 3030 if (web_contents) { |
| 3031 registry->AddInterface( | 3031 registry->AddInterface( |
| 3032 web_contents->GetJavaInterfaces() | 3032 web_contents->GetJavaInterfaces() |
| 3033 ->CreateInterfaceFactory<blink::mojom::BarcodeDetection>()); | 3033 ->CreateInterfaceFactory<blink::mojom::BarcodeDetection>()); |
| 3034 } | 3034 } |
| 3035 } | 3035 } |
| 3036 #endif | 3036 #endif |
| 3037 | 3037 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3114 #endif // !defined(DISABLE_NACL) | 3114 #endif // !defined(DISABLE_NACL) |
| 3115 }); | 3115 }); |
| 3116 } | 3116 } |
| 3117 | 3117 |
| 3118 void ChromeContentBrowserClient::OpenURL( | 3118 void ChromeContentBrowserClient::OpenURL( |
| 3119 content::BrowserContext* browser_context, | 3119 content::BrowserContext* browser_context, |
| 3120 const content::OpenURLParams& params, | 3120 const content::OpenURLParams& params, |
| 3121 const base::Callback<void(content::WebContents*)>& callback) { | 3121 const base::Callback<void(content::WebContents*)>& callback) { |
| 3122 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 3122 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 3123 | 3123 |
| 3124 #if BUILDFLAG(ANDROID_JAVA_UI) | 3124 #if defined(OS_ANDROID) |
| 3125 ServiceTabLauncher::GetInstance()->LaunchTab(browser_context, params, | 3125 ServiceTabLauncher::GetInstance()->LaunchTab(browser_context, params, |
| 3126 callback); | 3126 callback); |
| 3127 #else | 3127 #else |
| 3128 chrome::NavigateParams nav_params( | 3128 chrome::NavigateParams nav_params( |
| 3129 Profile::FromBrowserContext(browser_context), | 3129 Profile::FromBrowserContext(browser_context), |
| 3130 params.url, | 3130 params.url, |
| 3131 params.transition); | 3131 params.transition); |
| 3132 FillNavigateParamsFromOpenURLParams(&nav_params, params); | 3132 FillNavigateParamsFromOpenURLParams(&nav_params, params); |
| 3133 nav_params.user_gesture = params.user_gesture; | 3133 nav_params.user_gesture = params.user_gesture; |
| 3134 | 3134 |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3362 bool ChromeContentBrowserClient::ShouldRedirectDOMStorageTaskRunner() { | 3362 bool ChromeContentBrowserClient::ShouldRedirectDOMStorageTaskRunner() { |
| 3363 return variations::GetVariationParamValue( | 3363 return variations::GetVariationParamValue( |
| 3364 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; | 3364 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; |
| 3365 } | 3365 } |
| 3366 | 3366 |
| 3367 bool ChromeContentBrowserClient:: | 3367 bool ChromeContentBrowserClient:: |
| 3368 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { | 3368 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { |
| 3369 return variations::GetVariationParamValue( | 3369 return variations::GetVariationParamValue( |
| 3370 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; | 3370 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; |
| 3371 } | 3371 } |
| OLD | NEW |