| 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 23 matching lines...) Expand all Loading... |
| 34 #include "chrome/browser/download/download_prefs.h" | 34 #include "chrome/browser/download/download_prefs.h" |
| 35 #include "chrome/browser/extensions/api/web_request/web_request_api.h" | 35 #include "chrome/browser/extensions/api/web_request/web_request_api.h" |
| 36 #include "chrome/browser/extensions/browser_permissions_policy_delegate.h" | 36 #include "chrome/browser/extensions/browser_permissions_policy_delegate.h" |
| 37 #include "chrome/browser/extensions/extension_renderer_state.h" | 37 #include "chrome/browser/extensions/extension_renderer_state.h" |
| 38 #include "chrome/browser/extensions/extension_service.h" | 38 #include "chrome/browser/extensions/extension_service.h" |
| 39 #include "chrome/browser/extensions/extension_util.h" | 39 #include "chrome/browser/extensions/extension_util.h" |
| 40 #include "chrome/browser/extensions/extension_web_ui.h" | 40 #include "chrome/browser/extensions/extension_web_ui.h" |
| 41 #include "chrome/browser/extensions/extension_webkit_preferences.h" | 41 #include "chrome/browser/extensions/extension_webkit_preferences.h" |
| 42 #include "chrome/browser/extensions/suggest_permission_util.h" | 42 #include "chrome/browser/extensions/suggest_permission_util.h" |
| 43 #include "chrome/browser/geolocation/chrome_access_token_store.h" | 43 #include "chrome/browser/geolocation/chrome_access_token_store.h" |
| 44 #include "chrome/browser/geolocation/geolocation_permission_context.h" |
| 45 #include "chrome/browser/geolocation/geolocation_permission_context_factory.h" |
| 44 #include "chrome/browser/google/google_util.h" | 46 #include "chrome/browser/google/google_util.h" |
| 45 #include "chrome/browser/media/cast_transport_host_filter.h" | 47 #include "chrome/browser/media/cast_transport_host_filter.h" |
| 46 #include "chrome/browser/media/media_capture_devices_dispatcher.h" | 48 #include "chrome/browser/media/media_capture_devices_dispatcher.h" |
| 47 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h" | 49 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h" |
| 48 #include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h" | 50 #include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h" |
| 49 #include "chrome/browser/net/chrome_net_log.h" | 51 #include "chrome/browser/net/chrome_net_log.h" |
| 50 #include "chrome/browser/notifications/desktop_notification_service.h" | 52 #include "chrome/browser/notifications/desktop_notification_service.h" |
| 51 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | 53 #include "chrome/browser/notifications/desktop_notification_service_factory.h" |
| 52 #include "chrome/browser/platform_util.h" | 54 #include "chrome/browser/platform_util.h" |
| 53 #include "chrome/browser/plugins/plugin_info_message_filter.h" | 55 #include "chrome/browser/plugins/plugin_info_message_filter.h" |
| (...skipping 2081 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2135 Profile* profile = Profile::FromBrowserContext(process->GetBrowserContext()); | 2137 Profile* profile = Profile::FromBrowserContext(process->GetBrowserContext()); |
| 2136 DesktopNotificationService* service = | 2138 DesktopNotificationService* service = |
| 2137 DesktopNotificationServiceFactory::GetForProfile(profile); | 2139 DesktopNotificationServiceFactory::GetForProfile(profile); |
| 2138 service->ShowDesktopNotification( | 2140 service->ShowDesktopNotification( |
| 2139 params, render_frame_host, delegate, cancel_callback); | 2141 params, render_frame_host, delegate, cancel_callback); |
| 2140 #else | 2142 #else |
| 2141 NOTIMPLEMENTED(); | 2143 NOTIMPLEMENTED(); |
| 2142 #endif | 2144 #endif |
| 2143 } | 2145 } |
| 2144 | 2146 |
| 2147 void ChromeContentBrowserClient::RequestGeolocationPermission( |
| 2148 content::WebContents* web_contents, |
| 2149 int bridge_id, |
| 2150 const GURL& requesting_frame, |
| 2151 bool user_gesture, |
| 2152 base::Callback<void(bool)> result_callback, |
| 2153 base::Closure* cancel_callback) { |
| 2154 GeolocationPermissionContextFactory::GetForProfile( |
| 2155 Profile::FromBrowserContext(web_contents->GetBrowserContext()))-> |
| 2156 RequestGeolocationPermission(web_contents, bridge_id, |
| 2157 requesting_frame, user_gesture, |
| 2158 result_callback, cancel_callback); |
| 2159 } |
| 2160 |
| 2145 bool ChromeContentBrowserClient::CanCreateWindow( | 2161 bool ChromeContentBrowserClient::CanCreateWindow( |
| 2146 const GURL& opener_url, | 2162 const GURL& opener_url, |
| 2147 const GURL& opener_top_level_frame_url, | 2163 const GURL& opener_top_level_frame_url, |
| 2148 const GURL& source_origin, | 2164 const GURL& source_origin, |
| 2149 WindowContainerType container_type, | 2165 WindowContainerType container_type, |
| 2150 const GURL& target_url, | 2166 const GURL& target_url, |
| 2151 const content::Referrer& referrer, | 2167 const content::Referrer& referrer, |
| 2152 WindowOpenDisposition disposition, | 2168 WindowOpenDisposition disposition, |
| 2153 const WebWindowFeatures& features, | 2169 const WebWindowFeatures& features, |
| 2154 bool user_gesture, | 2170 bool user_gesture, |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2702 result = policy->AddRule(sandbox::TargetPolicy::SUBSYS_HANDLES, | 2718 result = policy->AddRule(sandbox::TargetPolicy::SUBSYS_HANDLES, |
| 2703 sandbox::TargetPolicy::HANDLES_DUP_ANY, | 2719 sandbox::TargetPolicy::HANDLES_DUP_ANY, |
| 2704 L"File"); | 2720 L"File"); |
| 2705 if (result != sandbox::SBOX_ALL_OK) { | 2721 if (result != sandbox::SBOX_ALL_OK) { |
| 2706 *success = false; | 2722 *success = false; |
| 2707 return; | 2723 return; |
| 2708 } | 2724 } |
| 2709 } | 2725 } |
| 2710 #endif | 2726 #endif |
| 2711 | 2727 |
| 2728 content::DevToolsManagerDelegate* |
| 2729 ChromeContentBrowserClient::GetDevToolsManagerDelegate() { |
| 2730 return new ChromeDevToolsManagerDelegate(); |
| 2731 } |
| 2732 |
| 2712 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( | 2733 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( |
| 2713 content::BrowserContext* browser_context, | 2734 content::BrowserContext* browser_context, |
| 2714 const GURL& url) { | 2735 const GURL& url) { |
| 2715 #if defined(ENABLE_PLUGINS) | 2736 #if defined(ENABLE_PLUGINS) |
| 2716 Profile* profile = Profile::FromBrowserContext(browser_context); | 2737 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2717 const extensions::ExtensionSet* extension_set = NULL; | 2738 const extensions::ExtensionSet* extension_set = NULL; |
| 2718 if (profile) { | 2739 if (profile) { |
| 2719 extension_set = extensions::ExtensionSystem::Get(profile)-> | 2740 extension_set = extensions::ExtensionSystem::Get(profile)-> |
| 2720 extension_service()->extensions(); | 2741 extension_service()->extensions(); |
| 2721 } | 2742 } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2741 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); | 2762 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); |
| 2742 // Allow dev channel APIs to be used on "Canary", "Dev", and "Unknown" | 2763 // Allow dev channel APIs to be used on "Canary", "Dev", and "Unknown" |
| 2743 // releases of Chrome. Permitting "Unknown" allows these APIs to be used on | 2764 // releases of Chrome. Permitting "Unknown" allows these APIs to be used on |
| 2744 // Chromium builds as well. | 2765 // Chromium builds as well. |
| 2745 return channel <= chrome::VersionInfo::CHANNEL_DEV; | 2766 return channel <= chrome::VersionInfo::CHANNEL_DEV; |
| 2746 #else | 2767 #else |
| 2747 return false; | 2768 return false; |
| 2748 #endif | 2769 #endif |
| 2749 } | 2770 } |
| 2750 | 2771 |
| 2751 content::DevToolsManagerDelegate* | |
| 2752 ChromeContentBrowserClient::GetDevToolsManagerDelegate() { | |
| 2753 return new ChromeDevToolsManagerDelegate(); | |
| 2754 } | |
| 2755 | |
| 2756 net::CookieStore* | 2772 net::CookieStore* |
| 2757 ChromeContentBrowserClient::OverrideCookieStoreForRenderProcess( | 2773 ChromeContentBrowserClient::OverrideCookieStoreForRenderProcess( |
| 2758 int render_process_id) { | 2774 int render_process_id) { |
| 2759 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 2775 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 2760 if (!prerender_tracker_) | 2776 if (!prerender_tracker_) |
| 2761 return NULL; | 2777 return NULL; |
| 2762 return prerender_tracker_-> | 2778 return prerender_tracker_-> |
| 2763 GetPrerenderCookieStoreForRenderProcess(render_process_id); | 2779 GetPrerenderCookieStoreForRenderProcess(render_process_id); |
| 2764 } | 2780 } |
| 2765 | 2781 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 2780 switches::kDisableWebRtcEncryption, | 2796 switches::kDisableWebRtcEncryption, |
| 2781 }; | 2797 }; |
| 2782 to_command_line->CopySwitchesFrom(from_command_line, | 2798 to_command_line->CopySwitchesFrom(from_command_line, |
| 2783 kWebRtcDevSwitchNames, | 2799 kWebRtcDevSwitchNames, |
| 2784 arraysize(kWebRtcDevSwitchNames)); | 2800 arraysize(kWebRtcDevSwitchNames)); |
| 2785 } | 2801 } |
| 2786 } | 2802 } |
| 2787 #endif // defined(ENABLE_WEBRTC) | 2803 #endif // defined(ENABLE_WEBRTC) |
| 2788 | 2804 |
| 2789 } // namespace chrome | 2805 } // namespace chrome |
| OLD | NEW |