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

Side by Side Diff: chrome/browser/chrome_content_browser_client.cc

Issue 1602663003: Framelet Prototype 2016 using Mojo IPC Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Disabled oilpan Created 4 years, 11 months 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
« no previous file with comments | « chrome/browser/DEPS ('k') | chrome/browser/extensions/api/chrome_extensions_api_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 29 matching lines...) Expand all
40 #include "chrome/browser/chrome_quota_permission_context.h" 40 #include "chrome/browser/chrome_quota_permission_context.h"
41 #include "chrome/browser/content_settings/cookie_settings_factory.h" 41 #include "chrome/browser/content_settings/cookie_settings_factory.h"
42 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 42 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
43 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 43 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
44 #include "chrome/browser/defaults.h" 44 #include "chrome/browser/defaults.h"
45 #include "chrome/browser/devtools/chrome_devtools_manager_delegate.h" 45 #include "chrome/browser/devtools/chrome_devtools_manager_delegate.h"
46 #include "chrome/browser/download/download_prefs.h" 46 #include "chrome/browser/download/download_prefs.h"
47 #include "chrome/browser/engagement/site_engagement_eviction_policy.h" 47 #include "chrome/browser/engagement/site_engagement_eviction_policy.h"
48 #include "chrome/browser/font_family_cache.h" 48 #include "chrome/browser/font_family_cache.h"
49 #include "chrome/browser/geolocation/chrome_access_token_store.h" 49 #include "chrome/browser/geolocation/chrome_access_token_store.h"
50 #include "chrome/browser/guest_view/chrome_content_browser_client_guest_view_par t.h"
51 #include "chrome/browser/guest_view/chrome_guest_view_manager_delegate.h"
50 #include "chrome/browser/media/media_capture_devices_dispatcher.h" 52 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
51 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h" 53 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h"
52 #include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h" 54 #include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h"
53 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" 55 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
54 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_fact ory.h" 56 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_fact ory.h"
55 #include "chrome/browser/notifications/platform_notification_service_impl.h" 57 #include "chrome/browser/notifications/platform_notification_service_impl.h"
56 #include "chrome/browser/platform_util.h" 58 #include "chrome/browser/platform_util.h"
57 #include "chrome/browser/prerender/prerender_final_status.h" 59 #include "chrome/browser/prerender/prerender_final_status.h"
58 #include "chrome/browser/prerender/prerender_manager.h" 60 #include "chrome/browser/prerender/prerender_manager.h"
59 #include "chrome/browser/prerender/prerender_manager_factory.h" 61 #include "chrome/browser/prerender/prerender_manager_factory.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 #include "components/cdm/browser/cdm_message_filter_android.h" 111 #include "components/cdm/browser/cdm_message_filter_android.h"
110 #include "components/cloud_devices/common/cloud_devices_switches.h" 112 #include "components/cloud_devices/common/cloud_devices_switches.h"
111 #include "components/content_settings/core/browser/content_settings_utils.h" 113 #include "components/content_settings/core/browser/content_settings_utils.h"
112 #include "components/content_settings/core/browser/cookie_settings.h" 114 #include "components/content_settings/core/browser/cookie_settings.h"
113 #include "components/content_settings/core/browser/host_content_settings_map.h" 115 #include "components/content_settings/core/browser/host_content_settings_map.h"
114 #include "components/content_settings/core/common/content_settings.h" 116 #include "components/content_settings/core/common/content_settings.h"
115 #include "components/data_reduction_proxy/content/browser/data_reduction_proxy_m essage_filter.h" 117 #include "components/data_reduction_proxy/content/browser/data_reduction_proxy_m essage_filter.h"
116 #include "components/dom_distiller/core/dom_distiller_switches.h" 118 #include "components/dom_distiller/core/dom_distiller_switches.h"
117 #include "components/dom_distiller/core/url_constants.h" 119 #include "components/dom_distiller/core/url_constants.h"
118 #include "components/error_page/common/error_page_switches.h" 120 #include "components/error_page/common/error_page_switches.h"
121 #include "components/framelet/browser/framelet_factory_impl.h"
119 #include "components/google/core/browser/google_util.h" 122 #include "components/google/core/browser/google_util.h"
123 #include "components/guest_view/browser/guest_view_base.h"
124 #include "components/guest_view/browser/guest_view_manager.h"
120 #include "components/metrics/client_info.h" 125 #include "components/metrics/client_info.h"
121 #include "components/net_log/chrome_net_log.h" 126 #include "components/net_log/chrome_net_log.h"
122 #include "components/pref_registry/pref_registry_syncable.h" 127 #include "components/pref_registry/pref_registry_syncable.h"
123 #include "components/rappor/rappor_utils.h" 128 #include "components/rappor/rappor_utils.h"
124 #include "components/security_interstitials/core/ssl_error_ui.h" 129 #include "components/security_interstitials/core/ssl_error_ui.h"
125 #include "components/signin/core/common/profile_management_switches.h" 130 #include "components/signin/core/common/profile_management_switches.h"
126 #include "components/startup_metric_utils/browser/startup_metric_message_filter. h" 131 #include "components/startup_metric_utils/browser/startup_metric_message_filter. h"
127 #include "components/translate/core/common/translate_switches.h" 132 #include "components/translate/core/common/translate_switches.h"
128 #include "components/url_formatter/url_fixer.h" 133 #include "components/url_formatter/url_fixer.h"
129 #include "components/variations/variations_associated_data.h" 134 #include "components/variations/variations_associated_data.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 #include "components/nacl/browser/nacl_process_host.h" 246 #include "components/nacl/browser/nacl_process_host.h"
242 #include "components/nacl/common/nacl_process_type.h" 247 #include "components/nacl/common/nacl_process_type.h"
243 #include "components/nacl/common/nacl_switches.h" 248 #include "components/nacl/common/nacl_switches.h"
244 #endif 249 #endif
245 250
246 #if defined(ENABLE_EXTENSIONS) 251 #if defined(ENABLE_EXTENSIONS)
247 #include "chrome/browser/accessibility/animation_policy_prefs.h" 252 #include "chrome/browser/accessibility/animation_policy_prefs.h"
248 #include "chrome/browser/extensions/chrome_content_browser_client_extensions_par t.h" 253 #include "chrome/browser/extensions/chrome_content_browser_client_extensions_par t.h"
249 #include "chrome/browser/media/cast_transport_host_filter.h" 254 #include "chrome/browser/media/cast_transport_host_filter.h"
250 #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" 255 #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h"
251 #include "components/guest_view/browser/guest_view_base.h"
252 #include "components/guest_view/browser/guest_view_manager.h"
253 #include "extensions/browser/extension_registry.h" 256 #include "extensions/browser/extension_registry.h"
254 #include "extensions/browser/extension_util.h" 257 #include "extensions/browser/extension_util.h"
255 #include "extensions/browser/guest_view/web_view/web_view_guest.h" 258 #include "extensions/browser/guest_view/web_view/web_view_guest.h"
256 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" 259 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
257 #include "extensions/browser/guest_view/web_view/web_view_renderer_state.h" 260 #include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
258 #include "extensions/common/constants.h" 261 #include "extensions/common/constants.h"
259 #include "extensions/common/extension.h" 262 #include "extensions/common/extension.h"
260 #include "extensions/common/extension_set.h" 263 #include "extensions/common/extension_set.h"
261 #include "extensions/common/manifest_handlers/background_info.h" 264 #include "extensions/common/manifest_handlers/background_info.h"
262 #include "extensions/common/manifest_handlers/shared_module_info.h" 265 #include "extensions/common/manifest_handlers/shared_module_info.h"
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 if (minWidth >= kWidthForMaxFSM) 632 if (minWidth >= kWidthForMaxFSM)
630 return kMaxFSM; 633 return kMaxFSM;
631 634
632 // The font scale multiplier varies linearly between kMinFSM and kMaxFSM. 635 // The font scale multiplier varies linearly between kMinFSM and kMaxFSM.
633 float ratio = static_cast<float>(minWidth - kWidthForMinFSM) / 636 float ratio = static_cast<float>(minWidth - kWidthForMinFSM) /
634 (kWidthForMaxFSM - kWidthForMinFSM); 637 (kWidthForMaxFSM - kWidthForMinFSM);
635 return ratio * (kMaxFSM - kMinFSM) + kMinFSM; 638 return ratio * (kMaxFSM - kMinFSM) + kMinFSM;
636 } 639 }
637 #endif // defined(OS_ANDROID) 640 #endif // defined(OS_ANDROID)
638 641
639 #if defined(ENABLE_EXTENSIONS)
640 // By default, JavaScript and images are enabled in guest content. 642 // By default, JavaScript and images are enabled in guest content.
641 void GetGuestViewDefaultContentSettingRules( 643 void GetGuestViewDefaultContentSettingRules(
642 bool incognito, 644 bool incognito,
643 RendererContentSettingRules* rules) { 645 RendererContentSettingRules* rules) {
644 rules->image_rules.push_back( 646 rules->image_rules.push_back(
645 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), 647 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
646 ContentSettingsPattern::Wildcard(), 648 ContentSettingsPattern::Wildcard(),
647 CONTENT_SETTING_ALLOW, 649 CONTENT_SETTING_ALLOW,
648 std::string(), 650 std::string(),
649 incognito)); 651 incognito));
650 652
651 rules->script_rules.push_back( 653 rules->script_rules.push_back(
652 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), 654 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
653 ContentSettingsPattern::Wildcard(), 655 ContentSettingsPattern::Wildcard(),
654 CONTENT_SETTING_ALLOW, 656 CONTENT_SETTING_ALLOW,
655 std::string(), 657 std::string(),
656 incognito)); 658 incognito));
657 } 659 }
658 #endif // defined(ENABLE_EXTENSIONS)
659 660
660 void CreateUsbDeviceManager( 661 void CreateUsbDeviceManager(
661 RenderFrameHost* render_frame_host, 662 RenderFrameHost* render_frame_host,
662 mojo::InterfaceRequest<device::usb::DeviceManager> request) { 663 mojo::InterfaceRequest<device::usb::DeviceManager> request) {
663 WebContents* web_contents = 664 WebContents* web_contents =
664 WebContents::FromRenderFrameHost(render_frame_host); 665 WebContents::FromRenderFrameHost(render_frame_host);
665 if (!web_contents) { 666 if (!web_contents) {
666 NOTREACHED(); 667 NOTREACHED();
667 return; 668 return;
668 } 669 }
(...skipping 18 matching lines...) Expand all
687 UsbTabHelper::GetOrCreateForWebContents(web_contents); 688 UsbTabHelper::GetOrCreateForWebContents(web_contents);
688 tab_helper->CreatePermissionBubble(render_frame_host, std::move(request)); 689 tab_helper->CreatePermissionBubble(render_frame_host, std::move(request));
689 } 690 }
690 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 691 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
691 692
692 } // namespace 693 } // namespace
693 694
694 ChromeContentBrowserClient::ChromeContentBrowserClient() 695 ChromeContentBrowserClient::ChromeContentBrowserClient()
695 : 696 :
696 weak_factory_(this) { 697 weak_factory_(this) {
698 extra_parts_.push_back(new chrome::ChromeContentBrowserClientGuestViewPart);
697 #if defined(ENABLE_PLUGINS) 699 #if defined(ENABLE_PLUGINS)
698 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) 700 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i)
699 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); 701 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]);
700 for (size_t i = 0; i < arraysize(kPredefinedAllowedFileHandleOrigins); ++i) 702 for (size_t i = 0; i < arraysize(kPredefinedAllowedFileHandleOrigins); ++i)
701 allowed_file_handle_origins_.insert(kPredefinedAllowedFileHandleOrigins[i]); 703 allowed_file_handle_origins_.insert(kPredefinedAllowedFileHandleOrigins[i]);
702 for (size_t i = 0; i < arraysize(kPredefinedAllowedSocketOrigins); ++i) 704 for (size_t i = 0; i < arraysize(kPredefinedAllowedSocketOrigins); ++i)
703 allowed_socket_origins_.insert(kPredefinedAllowedSocketOrigins[i]); 705 allowed_socket_origins_.insert(kPredefinedAllowedSocketOrigins[i]);
704 706
705 extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart); 707 extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart);
706 #endif 708 #endif
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 host->AddFilter(new startup_metric_utils::StartupMetricMessageFilter()); 939 host->AddFilter(new startup_metric_utils::StartupMetricMessageFilter());
938 940
939 host->Send(new ChromeViewMsg_SetIsIncognitoProcess( 941 host->Send(new ChromeViewMsg_SetIsIncognitoProcess(
940 profile->IsOffTheRecord())); 942 profile->IsOffTheRecord()));
941 943
942 for (size_t i = 0; i < extra_parts_.size(); ++i) 944 for (size_t i = 0; i < extra_parts_.size(); ++i)
943 extra_parts_[i]->RenderProcessWillLaunch(host); 945 extra_parts_[i]->RenderProcessWillLaunch(host);
944 946
945 RendererContentSettingRules rules; 947 RendererContentSettingRules rules;
946 if (host->IsForGuestsOnly()) { 948 if (host->IsForGuestsOnly()) {
947 #if defined(ENABLE_EXTENSIONS)
948 GetGuestViewDefaultContentSettingRules(profile->IsOffTheRecord(), &rules); 949 GetGuestViewDefaultContentSettingRules(profile->IsOffTheRecord(), &rules);
949 #else
950 NOTREACHED();
951 #endif
952 } else { 950 } else {
953 GetRendererContentSettingRules( 951 GetRendererContentSettingRules(
954 HostContentSettingsMapFactory::GetForProfile(profile), &rules); 952 HostContentSettingsMapFactory::GetForProfile(profile), &rules);
955 } 953 }
956 host->Send(new ChromeViewMsg_SetContentSettingRules(rules)); 954 host->Send(new ChromeViewMsg_SetContentSettingRules(rules));
957 } 955 }
958 956
959 GURL ChromeContentBrowserClient::GetEffectiveURL( 957 GURL ChromeContentBrowserClient::GetEffectiveURL(
960 content::BrowserContext* browser_context, const GURL& url) { 958 content::BrowserContext* browser_context, const GURL& url) {
961 Profile* profile = Profile::FromBrowserContext(browser_context); 959 Profile* profile = Profile::FromBrowserContext(browser_context);
(...skipping 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after
2649 } 2647 }
2650 2648
2651 void ChromeContentBrowserClient::RegisterRenderFrameMojoServices( 2649 void ChromeContentBrowserClient::RegisterRenderFrameMojoServices(
2652 content::ServiceRegistry* registry, 2650 content::ServiceRegistry* registry,
2653 content::RenderFrameHost* render_frame_host) { 2651 content::RenderFrameHost* render_frame_host) {
2654 registry->AddService(base::Bind(&CreateUsbDeviceManager, render_frame_host)); 2652 registry->AddService(base::Bind(&CreateUsbDeviceManager, render_frame_host));
2655 #if !defined(OS_ANDROID) && !defined(OS_IOS) 2653 #if !defined(OS_ANDROID) && !defined(OS_IOS)
2656 registry->AddService( 2654 registry->AddService(
2657 base::Bind(&CreateWebUsbPermissionBubble, render_frame_host)); 2655 base::Bind(&CreateWebUsbPermissionBubble, render_frame_host));
2658 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 2656 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
2657 registry->AddService(base::Bind(
2658 &framelet::FrameletFactoryImpl::CreateService, render_frame_host,
2659 base::Bind(&chrome::ChromeGuestViewManagerDelegate::Create,
2660 render_frame_host->GetSiteInstance()->GetBrowserContext())));
2659 } 2661 }
2660 2662
2661 void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications( 2663 void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications(
2662 OutOfProcessMojoApplicationMap* apps) { 2664 OutOfProcessMojoApplicationMap* apps) {
2663 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) 2665 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS)
2664 apps->insert(std::make_pair(GURL("mojo:media"), 2666 apps->insert(std::make_pair(GURL("mojo:media"),
2665 base::ASCIIToUTF16("Media App"))); 2667 base::ASCIIToUTF16("Media App")));
2666 #endif 2668 #endif
2667 } 2669 }
2668 2670
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
2824 if (channel <= kMaxDisableEncryptionChannel) { 2826 if (channel <= kMaxDisableEncryptionChannel) {
2825 static const char* const kWebRtcDevSwitchNames[] = { 2827 static const char* const kWebRtcDevSwitchNames[] = {
2826 switches::kDisableWebRtcEncryption, 2828 switches::kDisableWebRtcEncryption,
2827 }; 2829 };
2828 to_command_line->CopySwitchesFrom(from_command_line, 2830 to_command_line->CopySwitchesFrom(from_command_line,
2829 kWebRtcDevSwitchNames, 2831 kWebRtcDevSwitchNames,
2830 arraysize(kWebRtcDevSwitchNames)); 2832 arraysize(kWebRtcDevSwitchNames));
2831 } 2833 }
2832 } 2834 }
2833 #endif // defined(ENABLE_WEBRTC) 2835 #endif // defined(ENABLE_WEBRTC)
OLDNEW
« no previous file with comments | « chrome/browser/DEPS ('k') | chrome/browser/extensions/api/chrome_extensions_api_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698