| 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 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 | 593 |
| 594 rules->script_rules.push_back( | 594 rules->script_rules.push_back( |
| 595 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 595 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 596 ContentSettingsPattern::Wildcard(), | 596 ContentSettingsPattern::Wildcard(), |
| 597 CONTENT_SETTING_ALLOW, | 597 CONTENT_SETTING_ALLOW, |
| 598 std::string(), | 598 std::string(), |
| 599 incognito)); | 599 incognito)); |
| 600 } | 600 } |
| 601 #endif // defined(ENALBE_EXTENSIONS) | 601 #endif // defined(ENALBE_EXTENSIONS) |
| 602 | 602 |
| 603 content::PermissionStatus | |
| 604 ContentSettingToPermissionStatus(ContentSetting setting) { | |
| 605 switch (setting) { | |
| 606 case CONTENT_SETTING_ALLOW: | |
| 607 case CONTENT_SETTING_SESSION_ONLY: | |
| 608 return content::PERMISSION_STATUS_GRANTED; | |
| 609 case CONTENT_SETTING_BLOCK: | |
| 610 return content::PERMISSION_STATUS_DENIED; | |
| 611 case CONTENT_SETTING_ASK: | |
| 612 return content::PERMISSION_STATUS_ASK; | |
| 613 case CONTENT_SETTING_DEFAULT: | |
| 614 case CONTENT_SETTING_NUM_SETTINGS: | |
| 615 break; | |
| 616 } | |
| 617 NOTREACHED(); | |
| 618 return content::PERMISSION_STATUS_DENIED; | |
| 619 } | |
| 620 | |
| 621 } // namespace | 603 } // namespace |
| 622 | 604 |
| 623 namespace chrome { | 605 namespace chrome { |
| 624 | 606 |
| 625 ChromeContentBrowserClient::ChromeContentBrowserClient() | 607 ChromeContentBrowserClient::ChromeContentBrowserClient() |
| 626 : prerender_tracker_(NULL), | 608 : prerender_tracker_(NULL), |
| 627 weak_factory_(this) { | 609 weak_factory_(this) { |
| 628 #if defined(ENABLE_PLUGINS) | 610 #if defined(ENABLE_PLUGINS) |
| 629 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) | 611 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) |
| 630 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); | 612 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); |
| (...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1991 requesting_frame.GetOrigin(), | 1973 requesting_frame.GetOrigin(), |
| 1992 user_gesture, | 1974 user_gesture, |
| 1993 result_callback); | 1975 result_callback); |
| 1994 break; | 1976 break; |
| 1995 case content::PERMISSION_NUM: | 1977 case content::PERMISSION_NUM: |
| 1996 NOTREACHED() << "Invalid RequestPermission for " << permission; | 1978 NOTREACHED() << "Invalid RequestPermission for " << permission; |
| 1997 break; | 1979 break; |
| 1998 } | 1980 } |
| 1999 } | 1981 } |
| 2000 | 1982 |
| 2001 content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus( | |
| 2002 content::PermissionType permission, | |
| 2003 content::BrowserContext* browser_context, | |
| 2004 const GURL& requesting_origin, | |
| 2005 const GURL& embedding_origin) { | |
| 2006 DCHECK(browser_context); | |
| 2007 Profile* profile = Profile::FromBrowserContext(browser_context); | |
| 2008 | |
| 2009 PermissionContextBase* context = nullptr; | |
| 2010 switch (permission) { | |
| 2011 case content::PERMISSION_MIDI_SYSEX: | |
| 2012 context = MidiPermissionContextFactory::GetForProfile(profile); | |
| 2013 break; | |
| 2014 case content::PERMISSION_NOTIFICATIONS: | |
| 2015 #if defined(ENABLE_NOTIFICATIONS) | |
| 2016 context = DesktopNotificationServiceFactory::GetForProfile(profile); | |
| 2017 #else | |
| 2018 NOTIMPLEMENTED(); | |
| 2019 #endif | |
| 2020 break; | |
| 2021 case content::PERMISSION_GEOLOCATION: | |
| 2022 context = GeolocationPermissionContextFactory::GetForProfile(profile); | |
| 2023 break; | |
| 2024 case content::PERMISSION_PROTECTED_MEDIA: | |
| 2025 NOTIMPLEMENTED(); | |
| 2026 break; | |
| 2027 case content::PERMISSION_PUSH_MESSAGING: | |
| 2028 context = gcm::PushMessagingPermissionContextFactory::GetForProfile( | |
| 2029 profile); | |
| 2030 break; | |
| 2031 case content::PERMISSION_NUM: | |
| 2032 NOTREACHED() << "Invalid RequestPermission for " << permission; | |
| 2033 break; | |
| 2034 } | |
| 2035 | |
| 2036 ContentSetting result = context | |
| 2037 ? context->GetPermissionStatus(requesting_origin.GetOrigin(), | |
| 2038 embedding_origin.GetOrigin()) | |
| 2039 : CONTENT_SETTING_DEFAULT; | |
| 2040 | |
| 2041 return ContentSettingToPermissionStatus(result); | |
| 2042 } | |
| 2043 | |
| 2044 void ChromeContentBrowserClient::CancelPermissionRequest( | 1983 void ChromeContentBrowserClient::CancelPermissionRequest( |
| 2045 content::PermissionType permission, | 1984 content::PermissionType permission, |
| 2046 content::WebContents* web_contents, | 1985 content::WebContents* web_contents, |
| 2047 int bridge_id, | 1986 int bridge_id, |
| 2048 const GURL& requesting_frame) { | 1987 const GURL& requesting_frame) { |
| 2049 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 1988 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
| 2050 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 1989 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
| 2051 | 1990 |
| 2052 const PermissionRequestID request_id(render_process_id, | 1991 const PermissionRequestID request_id(render_process_id, |
| 2053 render_view_id, | 1992 render_view_id, |
| (...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2675 switches::kDisableWebRtcEncryption, | 2614 switches::kDisableWebRtcEncryption, |
| 2676 }; | 2615 }; |
| 2677 to_command_line->CopySwitchesFrom(from_command_line, | 2616 to_command_line->CopySwitchesFrom(from_command_line, |
| 2678 kWebRtcDevSwitchNames, | 2617 kWebRtcDevSwitchNames, |
| 2679 arraysize(kWebRtcDevSwitchNames)); | 2618 arraysize(kWebRtcDevSwitchNames)); |
| 2680 } | 2619 } |
| 2681 } | 2620 } |
| 2682 #endif // defined(ENABLE_WEBRTC) | 2621 #endif // defined(ENABLE_WEBRTC) |
| 2683 | 2622 |
| 2684 } // namespace chrome | 2623 } // namespace chrome |
| OLD | NEW |