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 <set> | 7 #include <set> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 76 #include "chrome/browser/ssl/ssl_blocking_page.h" | 76 #include "chrome/browser/ssl/ssl_blocking_page.h" |
| 77 #include "chrome/browser/ssl/ssl_client_certificate_selector.h" | 77 #include "chrome/browser/ssl/ssl_client_certificate_selector.h" |
| 78 #include "chrome/browser/sync_file_system/local/sync_file_system_backend.h" | 78 #include "chrome/browser/sync_file_system/local/sync_file_system_backend.h" |
| 79 #include "chrome/browser/tab_contents/tab_util.h" | 79 #include "chrome/browser/tab_contents/tab_util.h" |
| 80 #include "chrome/browser/ui/blocked_content/blocked_window_params.h" | 80 #include "chrome/browser/ui/blocked_content/blocked_window_params.h" |
| 81 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" | 81 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" |
| 82 #include "chrome/browser/ui/chrome_select_file_policy.h" | 82 #include "chrome/browser/ui/chrome_select_file_policy.h" |
| 83 #include "chrome/browser/ui/sync/sync_promo_ui.h" | 83 #include "chrome/browser/ui/sync/sync_promo_ui.h" |
| 84 #include "chrome/browser/ui/tab_contents/chrome_web_contents_view_delegate.h" | 84 #include "chrome/browser/ui/tab_contents/chrome_web_contents_view_delegate.h" |
| 85 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" | 85 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" |
| 86 #include "chrome/browser/ui/zoom/zoom_controller.h" | |
| 86 #include "chrome/common/chrome_constants.h" | 87 #include "chrome/common/chrome_constants.h" |
| 87 #include "chrome/common/chrome_paths.h" | 88 #include "chrome/common/chrome_paths.h" |
| 88 #include "chrome/common/chrome_switches.h" | 89 #include "chrome/common/chrome_switches.h" |
| 89 #include "chrome/common/env_vars.h" | 90 #include "chrome/common/env_vars.h" |
| 90 #include "chrome/common/extensions/extension_constants.h" | 91 #include "chrome/common/extensions/extension_constants.h" |
| 91 #include "chrome/common/extensions/extension_process_policy.h" | 92 #include "chrome/common/extensions/extension_process_policy.h" |
| 92 #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h" | 93 #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h" |
| 93 #include "chrome/common/logging_chrome.h" | 94 #include "chrome/common/logging_chrome.h" |
| 94 #include "chrome/common/pepper_permission_util.h" | 95 #include "chrome/common/pepper_permission_util.h" |
| 95 #include "chrome/common/pref_names.h" | 96 #include "chrome/common/pref_names.h" |
| (...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 843 SiteInstance* guest_site_instance, | 844 SiteInstance* guest_site_instance, |
| 844 WebContents* guest_web_contents, | 845 WebContents* guest_web_contents, |
| 845 WebContents* opener_web_contents, | 846 WebContents* opener_web_contents, |
| 846 content::BrowserPluginGuestDelegate** guest_delegate, | 847 content::BrowserPluginGuestDelegate** guest_delegate, |
| 847 scoped_ptr<base::DictionaryValue> extra_params) { | 848 scoped_ptr<base::DictionaryValue> extra_params) { |
| 848 #if defined(ENABLE_EXTENSIONS) | 849 #if defined(ENABLE_EXTENSIONS) |
| 849 if (!guest_site_instance) { | 850 if (!guest_site_instance) { |
| 850 NOTREACHED(); | 851 NOTREACHED(); |
| 851 return; | 852 return; |
| 852 } | 853 } |
| 854 | |
|
wjmaclean
2014/06/23 18:40:48
Oops, I'll remove this line.
| |
| 853 GURL guest_site_url = guest_site_instance->GetSiteURL(); | 855 GURL guest_site_url = guest_site_instance->GetSiteURL(); |
| 854 const std::string& extension_id = guest_site_url.host(); | 856 const std::string& extension_id = guest_site_url.host(); |
| 855 | 857 |
| 856 Profile* profile = Profile::FromBrowserContext( | 858 Profile* profile = Profile::FromBrowserContext( |
| 857 guest_web_contents->GetBrowserContext()); | 859 guest_web_contents->GetBrowserContext()); |
| 858 ExtensionService* service = | 860 ExtensionService* service = |
| 859 extensions::ExtensionSystem::Get(profile)->extension_service(); | 861 extensions::ExtensionSystem::Get(profile)->extension_service(); |
| 860 if (!service) { | 862 if (!service) { |
| 861 NOTREACHED(); | 863 NOTREACHED(); |
| 862 return; | 864 return; |
| 863 } | 865 } |
| 864 | 866 |
| 865 /// TODO(fsamuel): In the future, certain types of GuestViewBases won't | 867 /// TODO(fsamuel): In the future, certain types of GuestViewBases won't |
| 866 // require extension bindings. At that point, we should clear |extension_id| | 868 // require extension bindings. At that point, we should clear |extension_id| |
| 867 // instead of exiting early. | 869 // instead of exiting early. |
| 868 if (!extension_id.empty() && | 870 if (!extension_id.empty() && |
| 869 !service->GetExtensionById(extension_id, false)) { | 871 !service->GetExtensionById(extension_id, false)) { |
| 870 NOTREACHED(); | 872 NOTREACHED(); |
| 871 return; | 873 return; |
| 872 } | 874 } |
| 873 | 875 |
| 876 // Create a zoom controller for the guest contents give it access to | |
| 877 // GetZoomLevel() and and SetZoomLevel() in WebViewGuest. | |
| 878 // TODO(wjmaclean) This currently uses the same HostZoomMap as the browser | |
| 879 // context, but we eventually want to isolate the guest contents from zoom | |
| 880 // changes outside the guest (e.g. in the main browser), so we should | |
| 881 // create a separate HostZoomMap for the guest. | |
| 882 ZoomController::CreateForWebContents(guest_web_contents); | |
| 874 if (opener_web_contents) { | 883 if (opener_web_contents) { |
| 875 GuestViewBase* guest = GuestViewBase::FromWebContents(opener_web_contents); | 884 GuestViewBase* guest = GuestViewBase::FromWebContents(opener_web_contents); |
| 876 DCHECK(guest); | 885 DCHECK(guest); |
| 877 | 886 |
| 878 // Create a new GuestViewBase of the same type as the opener. | 887 // Create a new GuestViewBase of the same type as the opener. |
| 879 *guest_delegate = GuestViewBase::Create( | 888 *guest_delegate = GuestViewBase::Create( |
| 880 guest_instance_id, | 889 guest_instance_id, |
| 881 guest_web_contents, | 890 guest_web_contents, |
| 882 extension_id, | 891 extension_id, |
| 883 guest->GetViewType()); | 892 guest->GetViewType()); |
| (...skipping 1985 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2869 switches::kDisableWebRtcEncryption, | 2878 switches::kDisableWebRtcEncryption, |
| 2870 }; | 2879 }; |
| 2871 to_command_line->CopySwitchesFrom(from_command_line, | 2880 to_command_line->CopySwitchesFrom(from_command_line, |
| 2872 kWebRtcDevSwitchNames, | 2881 kWebRtcDevSwitchNames, |
| 2873 arraysize(kWebRtcDevSwitchNames)); | 2882 arraysize(kWebRtcDevSwitchNames)); |
| 2874 } | 2883 } |
| 2875 } | 2884 } |
| 2876 #endif // defined(ENABLE_WEBRTC) | 2885 #endif // defined(ENABLE_WEBRTC) |
| 2877 | 2886 |
| 2878 } // namespace chrome | 2887 } // namespace chrome |
| OLD | NEW |