| 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 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 592 | 592 |
| 593 rules->script_rules.push_back( | 593 rules->script_rules.push_back( |
| 594 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 594 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 595 ContentSettingsPattern::Wildcard(), | 595 ContentSettingsPattern::Wildcard(), |
| 596 CONTENT_SETTING_ALLOW, | 596 CONTENT_SETTING_ALLOW, |
| 597 std::string(), | 597 std::string(), |
| 598 incognito)); | 598 incognito)); |
| 599 } | 599 } |
| 600 #endif // defined(ENALBE_EXTENSIONS) | 600 #endif // defined(ENALBE_EXTENSIONS) |
| 601 | 601 |
| 602 content::PermissionStatus |
| 603 ContentSettingToPermissionStatus(ContentSetting setting) { |
| 604 switch (setting) { |
| 605 case CONTENT_SETTING_ALLOW: |
| 606 case CONTENT_SETTING_SESSION_ONLY: |
| 607 return content::PERMISSION_STATUS_GRANTED; |
| 608 case CONTENT_SETTING_BLOCK: |
| 609 return content::PERMISSION_STATUS_DENIED; |
| 610 case CONTENT_SETTING_ASK: |
| 611 return content::PERMISSION_STATUS_ASK; |
| 612 case CONTENT_SETTING_DEFAULT: |
| 613 case CONTENT_SETTING_NUM_SETTINGS: |
| 614 break; |
| 615 } |
| 616 NOTREACHED(); |
| 617 return content::PERMISSION_STATUS_DENIED; |
| 618 } |
| 619 |
| 602 } // namespace | 620 } // namespace |
| 603 | 621 |
| 604 namespace chrome { | 622 namespace chrome { |
| 605 | 623 |
| 606 ChromeContentBrowserClient::ChromeContentBrowserClient() | 624 ChromeContentBrowserClient::ChromeContentBrowserClient() |
| 607 : prerender_tracker_(NULL), | 625 : prerender_tracker_(NULL), |
| 608 weak_factory_(this) { | 626 weak_factory_(this) { |
| 609 #if defined(ENABLE_PLUGINS) | 627 #if defined(ENABLE_PLUGINS) |
| 610 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) | 628 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) |
| 611 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); | 629 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); |
| (...skipping 1298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1910 requesting_frame.GetOrigin(), | 1928 requesting_frame.GetOrigin(), |
| 1911 user_gesture, | 1929 user_gesture, |
| 1912 result_callback); | 1930 result_callback); |
| 1913 break; | 1931 break; |
| 1914 case content::PERMISSION_NUM: | 1932 case content::PERMISSION_NUM: |
| 1915 NOTREACHED() << "Invalid RequestPermission for " << permission; | 1933 NOTREACHED() << "Invalid RequestPermission for " << permission; |
| 1916 break; | 1934 break; |
| 1917 } | 1935 } |
| 1918 } | 1936 } |
| 1919 | 1937 |
| 1938 content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus( |
| 1939 content::PermissionType permission, |
| 1940 content::BrowserContext* browser_context, |
| 1941 const GURL& requesting_origin, |
| 1942 const GURL& embedding_origin) { |
| 1943 DCHECK(browser_context); |
| 1944 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 1945 |
| 1946 PermissionContextBase* context = nullptr; |
| 1947 switch (permission) { |
| 1948 case content::PERMISSION_MIDI_SYSEX: |
| 1949 context = MidiPermissionContextFactory::GetForProfile(profile); |
| 1950 break; |
| 1951 case content::PERMISSION_NOTIFICATIONS: |
| 1952 #if defined(ENABLE_NOTIFICATIONS) |
| 1953 context = DesktopNotificationServiceFactory::GetForProfile(profile); |
| 1954 #else |
| 1955 NOTIMPLEMENTED(); |
| 1956 #endif |
| 1957 break; |
| 1958 case content::PERMISSION_GEOLOCATION: |
| 1959 context = GeolocationPermissionContextFactory::GetForProfile(profile); |
| 1960 break; |
| 1961 case content::PERMISSION_PROTECTED_MEDIA: |
| 1962 NOTIMPLEMENTED(); |
| 1963 break; |
| 1964 case content::PERMISSION_PUSH_MESSAGING: |
| 1965 context = gcm::PushMessagingPermissionContextFactory::GetForProfile( |
| 1966 profile); |
| 1967 break; |
| 1968 case content::PERMISSION_NUM: |
| 1969 NOTREACHED() << "Invalid RequestPermission for " << permission; |
| 1970 break; |
| 1971 } |
| 1972 |
| 1973 ContentSetting result = context |
| 1974 ? context->GetPermissionStatus(requesting_origin.GetOrigin(), |
| 1975 embedding_origin.GetOrigin()) |
| 1976 : CONTENT_SETTING_DEFAULT; |
| 1977 |
| 1978 return ContentSettingToPermissionStatus(result); |
| 1979 } |
| 1980 |
| 1920 void ChromeContentBrowserClient::CancelPermissionRequest( | 1981 void ChromeContentBrowserClient::CancelPermissionRequest( |
| 1921 content::PermissionType permission, | 1982 content::PermissionType permission, |
| 1922 content::WebContents* web_contents, | 1983 content::WebContents* web_contents, |
| 1923 int bridge_id, | 1984 int bridge_id, |
| 1924 const GURL& requesting_frame) { | 1985 const GURL& requesting_frame) { |
| 1925 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 1986 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
| 1926 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 1987 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
| 1927 | 1988 |
| 1928 const PermissionRequestID request_id(render_process_id, | 1989 const PermissionRequestID request_id(render_process_id, |
| 1929 render_view_id, | 1990 render_view_id, |
| (...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2551 switches::kDisableWebRtcEncryption, | 2612 switches::kDisableWebRtcEncryption, |
| 2552 }; | 2613 }; |
| 2553 to_command_line->CopySwitchesFrom(from_command_line, | 2614 to_command_line->CopySwitchesFrom(from_command_line, |
| 2554 kWebRtcDevSwitchNames, | 2615 kWebRtcDevSwitchNames, |
| 2555 arraysize(kWebRtcDevSwitchNames)); | 2616 arraysize(kWebRtcDevSwitchNames)); |
| 2556 } | 2617 } |
| 2557 } | 2618 } |
| 2558 #endif // defined(ENABLE_WEBRTC) | 2619 #endif // defined(ENABLE_WEBRTC) |
| 2559 | 2620 |
| 2560 } // namespace chrome | 2621 } // namespace chrome |
| OLD | NEW |