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 1358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1989 requesting_frame.GetOrigin(), | 1971 requesting_frame.GetOrigin(), |
1990 user_gesture, | 1972 user_gesture, |
1991 result_callback); | 1973 result_callback); |
1992 break; | 1974 break; |
1993 case content::PERMISSION_NUM: | 1975 case content::PERMISSION_NUM: |
1994 NOTREACHED() << "Invalid RequestPermission for " << permission; | 1976 NOTREACHED() << "Invalid RequestPermission for " << permission; |
1995 break; | 1977 break; |
1996 } | 1978 } |
1997 } | 1979 } |
1998 | 1980 |
1999 content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus( | |
2000 content::PermissionType permission, | |
2001 content::BrowserContext* browser_context, | |
2002 const GURL& requesting_origin, | |
2003 const GURL& embedding_origin) { | |
2004 DCHECK(browser_context); | |
2005 Profile* profile = Profile::FromBrowserContext(browser_context); | |
2006 | |
2007 PermissionContextBase* context = nullptr; | |
2008 switch (permission) { | |
2009 case content::PERMISSION_MIDI_SYSEX: | |
2010 context = MidiPermissionContextFactory::GetForProfile(profile); | |
2011 break; | |
2012 case content::PERMISSION_NOTIFICATIONS: | |
2013 #if defined(ENABLE_NOTIFICATIONS) | |
2014 context = DesktopNotificationServiceFactory::GetForProfile(profile); | |
2015 #else | |
2016 NOTIMPLEMENTED(); | |
2017 #endif | |
2018 break; | |
2019 case content::PERMISSION_GEOLOCATION: | |
2020 context = GeolocationPermissionContextFactory::GetForProfile(profile); | |
2021 break; | |
2022 case content::PERMISSION_PROTECTED_MEDIA: | |
2023 NOTIMPLEMENTED(); | |
2024 break; | |
2025 case content::PERMISSION_PUSH_MESSAGING: | |
2026 context = gcm::PushMessagingPermissionContextFactory::GetForProfile( | |
2027 profile); | |
2028 break; | |
2029 case content::PERMISSION_NUM: | |
2030 NOTREACHED() << "Invalid RequestPermission for " << permission; | |
2031 break; | |
2032 } | |
2033 | |
2034 ContentSetting result = context | |
2035 ? context->GetPermissionStatus(requesting_origin.GetOrigin(), | |
2036 embedding_origin.GetOrigin()) | |
2037 : CONTENT_SETTING_DEFAULT; | |
2038 | |
2039 return ContentSettingToPermissionStatus(result); | |
2040 } | |
2041 | |
2042 void ChromeContentBrowserClient::CancelPermissionRequest( | 1981 void ChromeContentBrowserClient::CancelPermissionRequest( |
2043 content::PermissionType permission, | 1982 content::PermissionType permission, |
2044 content::WebContents* web_contents, | 1983 content::WebContents* web_contents, |
2045 int bridge_id, | 1984 int bridge_id, |
2046 const GURL& requesting_frame) { | 1985 const GURL& requesting_frame) { |
2047 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 1986 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
2048 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 1987 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
2049 | 1988 |
2050 const PermissionRequestID request_id(render_process_id, | 1989 const PermissionRequestID request_id(render_process_id, |
2051 render_view_id, | 1990 render_view_id, |
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2673 switches::kDisableWebRtcEncryption, | 2612 switches::kDisableWebRtcEncryption, |
2674 }; | 2613 }; |
2675 to_command_line->CopySwitchesFrom(from_command_line, | 2614 to_command_line->CopySwitchesFrom(from_command_line, |
2676 kWebRtcDevSwitchNames, | 2615 kWebRtcDevSwitchNames, |
2677 arraysize(kWebRtcDevSwitchNames)); | 2616 arraysize(kWebRtcDevSwitchNames)); |
2678 } | 2617 } |
2679 } | 2618 } |
2680 #endif // defined(ENABLE_WEBRTC) | 2619 #endif // defined(ENABLE_WEBRTC) |
2681 | 2620 |
2682 } // namespace chrome | 2621 } // namespace chrome |
OLD | NEW |