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 2119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2130 return; | 2130 return; |
2131 } | 2131 } |
2132 | 2132 |
2133 notification_service->RequestPermission( | 2133 notification_service->RequestPermission( |
2134 source_origin, render_frame_host, callback); | 2134 source_origin, render_frame_host, callback); |
2135 #else | 2135 #else |
2136 NOTIMPLEMENTED(); | 2136 NOTIMPLEMENTED(); |
2137 #endif | 2137 #endif |
2138 } | 2138 } |
2139 | 2139 |
2140 blink::WebNotificationPresenter::Permission | 2140 content::NotificationPresenterPermission |
2141 ChromeContentBrowserClient::CheckDesktopNotificationPermission( | 2141 ChromeContentBrowserClient::CheckDesktopNotificationPermission( |
2142 const GURL& source_origin, | 2142 const GURL& source_origin, |
2143 content::ResourceContext* context, | 2143 content::ResourceContext* context, |
2144 int render_process_id) { | 2144 int render_process_id) { |
2145 #if defined(ENABLE_NOTIFICATIONS) | 2145 #if defined(ENABLE_NOTIFICATIONS) |
2146 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 2146 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
2147 | 2147 |
2148 ProfileIOData* io_data = ProfileIOData::FromResourceContext(context); | 2148 ProfileIOData* io_data = ProfileIOData::FromResourceContext(context); |
2149 InfoMap* extension_info_map = io_data->GetExtensionInfoMap(); | 2149 InfoMap* extension_info_map = io_data->GetExtensionInfoMap(); |
2150 | 2150 |
2151 // We want to see if there is an extension that hasn't been manually disabled | 2151 // We want to see if there is an extension that hasn't been manually disabled |
2152 // that has the notifications permission and applies to this security origin. | 2152 // that has the notifications permission and applies to this security origin. |
2153 // First, get the list of extensions with permission for the origin. | 2153 // First, get the list of extensions with permission for the origin. |
2154 extensions::ExtensionSet extensions; | 2154 extensions::ExtensionSet extensions; |
2155 extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin( | 2155 extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin( |
2156 source_origin, render_process_id, | 2156 source_origin, render_process_id, |
2157 extensions::APIPermission::kNotification, &extensions); | 2157 extensions::APIPermission::kNotification, &extensions); |
2158 for (extensions::ExtensionSet::const_iterator iter = extensions.begin(); | 2158 for (extensions::ExtensionSet::const_iterator iter = extensions.begin(); |
2159 iter != extensions.end(); ++iter) { | 2159 iter != extensions.end(); ++iter) { |
2160 // Then, check to see if it's been disabled by the user. | 2160 // Then, check to see if it's been disabled by the user. |
2161 if (!extension_info_map->AreNotificationsDisabled((*iter)->id())) | 2161 if (!extension_info_map->AreNotificationsDisabled((*iter)->id())) |
2162 return blink::WebNotificationPresenter::PermissionAllowed; | 2162 return content::NOTIFICATION_PRESENTER_PERMISSION_ALLOWED; |
2163 } | 2163 } |
2164 | 2164 |
2165 // No enabled extensions exist, so check the normal host content settings. | 2165 // No enabled extensions exist, so check the normal host content settings. |
2166 HostContentSettingsMap* host_content_settings_map = | 2166 HostContentSettingsMap* host_content_settings_map = |
2167 io_data->GetHostContentSettingsMap(); | 2167 io_data->GetHostContentSettingsMap(); |
2168 ContentSetting setting = host_content_settings_map->GetContentSetting( | 2168 ContentSetting setting = host_content_settings_map->GetContentSetting( |
2169 source_origin, | 2169 source_origin, |
2170 source_origin, | 2170 source_origin, |
2171 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 2171 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
2172 NO_RESOURCE_IDENTIFIER); | 2172 NO_RESOURCE_IDENTIFIER); |
2173 | 2173 |
2174 if (setting == CONTENT_SETTING_ALLOW) | 2174 if (setting == CONTENT_SETTING_ALLOW) |
2175 return blink::WebNotificationPresenter::PermissionAllowed; | 2175 return content::NOTIFICATION_PRESENTER_PERMISSION_ALLOWED; |
2176 if (setting == CONTENT_SETTING_BLOCK) | 2176 if (setting == CONTENT_SETTING_BLOCK) |
2177 return blink::WebNotificationPresenter::PermissionDenied; | 2177 return content::NOTIFICATION_PRESENTER_PERMISSION_DENIED; |
2178 return blink::WebNotificationPresenter::PermissionNotAllowed; | 2178 return content::NOTIFICATION_PRESENTER_PERMISSION_NOT_ALLOWED; |
2179 #else | 2179 #else |
2180 return blink::WebNotificationPresenter::PermissionAllowed; | 2180 return content::NOTIFICATION_PRESENTER_PERMISSION_ALLOWED; |
2181 #endif | 2181 #endif |
2182 } | 2182 } |
2183 | 2183 |
2184 void ChromeContentBrowserClient::ShowDesktopNotification( | 2184 void ChromeContentBrowserClient::ShowDesktopNotification( |
2185 const content::ShowDesktopNotificationHostMsgParams& params, | 2185 const content::ShowDesktopNotificationHostMsgParams& params, |
2186 RenderFrameHost* render_frame_host, | 2186 RenderFrameHost* render_frame_host, |
2187 content::DesktopNotificationDelegate* delegate, | 2187 content::DesktopNotificationDelegate* delegate, |
2188 base::Closure* cancel_callback) { | 2188 base::Closure* cancel_callback) { |
2189 #if defined(ENABLE_NOTIFICATIONS) | 2189 #if defined(ENABLE_NOTIFICATIONS) |
2190 content::RenderProcessHost* process = render_frame_host->GetProcess(); | 2190 content::RenderProcessHost* process = render_frame_host->GetProcess(); |
(...skipping 724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2915 switches::kDisableWebRtcEncryption, | 2915 switches::kDisableWebRtcEncryption, |
2916 }; | 2916 }; |
2917 to_command_line->CopySwitchesFrom(from_command_line, | 2917 to_command_line->CopySwitchesFrom(from_command_line, |
2918 kWebRtcDevSwitchNames, | 2918 kWebRtcDevSwitchNames, |
2919 arraysize(kWebRtcDevSwitchNames)); | 2919 arraysize(kWebRtcDevSwitchNames)); |
2920 } | 2920 } |
2921 } | 2921 } |
2922 #endif // defined(ENABLE_WEBRTC) | 2922 #endif // defined(ENABLE_WEBRTC) |
2923 | 2923 |
2924 } // namespace chrome | 2924 } // namespace chrome |
OLD | NEW |