| 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 2495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2506 | 2506 |
| 2507 bool ChromeContentBrowserClient::AllowPepperSocketAPI( | 2507 bool ChromeContentBrowserClient::AllowPepperSocketAPI( |
| 2508 content::BrowserContext* browser_context, | 2508 content::BrowserContext* browser_context, |
| 2509 const GURL& url, | 2509 const GURL& url, |
| 2510 bool private_api, | 2510 bool private_api, |
| 2511 const content::SocketPermissionRequest* params) { | 2511 const content::SocketPermissionRequest* params) { |
| 2512 #if defined(ENABLE_PLUGINS) | 2512 #if defined(ENABLE_PLUGINS) |
| 2513 Profile* profile = Profile::FromBrowserContext(browser_context); | 2513 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2514 const extensions::ExtensionSet* extension_set = NULL; | 2514 const extensions::ExtensionSet* extension_set = NULL; |
| 2515 if (profile) { | 2515 if (profile) { |
| 2516 extension_set = extensions::ExtensionSystem::Get(profile)-> | 2516 const ExtensionService* ext_service = |
| 2517 extension_service()->extensions(); | 2517 extensions::ExtensionSystem::Get(profile)->extension_service(); |
| 2518 if (ext_service) { |
| 2519 extension_set = ext_service->extensions(); |
| 2520 } |
| 2518 } | 2521 } |
| 2519 | 2522 |
| 2520 if (private_api) { | 2523 if (private_api) { |
| 2521 // Access to private socket APIs is controlled by the whitelist. | 2524 // Access to private socket APIs is controlled by the whitelist. |
| 2522 if (IsExtensionOrSharedModuleWhitelisted(url, extension_set, | 2525 if (IsExtensionOrSharedModuleWhitelisted(url, extension_set, |
| 2523 allowed_socket_origins_)) { | 2526 allowed_socket_origins_)) { |
| 2524 return true; | 2527 return true; |
| 2525 } | 2528 } |
| 2526 } else { | 2529 } else { |
| 2527 // Access to public socket APIs is controlled by extension permissions. | 2530 // Access to public socket APIs is controlled by extension permissions. |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2726 return new ChromeDevToolsManagerDelegate(); | 2729 return new ChromeDevToolsManagerDelegate(); |
| 2727 } | 2730 } |
| 2728 | 2731 |
| 2729 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( | 2732 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( |
| 2730 content::BrowserContext* browser_context, | 2733 content::BrowserContext* browser_context, |
| 2731 const GURL& url) { | 2734 const GURL& url) { |
| 2732 #if defined(ENABLE_PLUGINS) | 2735 #if defined(ENABLE_PLUGINS) |
| 2733 Profile* profile = Profile::FromBrowserContext(browser_context); | 2736 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2734 const extensions::ExtensionSet* extension_set = NULL; | 2737 const extensions::ExtensionSet* extension_set = NULL; |
| 2735 if (profile) { | 2738 if (profile) { |
| 2736 extension_set = extensions::ExtensionSystem::Get(profile)-> | 2739 const ExtensionService* ext_service = |
| 2737 extension_service()->extensions(); | 2740 extensions::ExtensionSystem::Get(profile)->extension_service(); |
| 2741 if (ext_service) { |
| 2742 extension_set = ext_service->extensions(); |
| 2743 } |
| 2738 } | 2744 } |
| 2739 return IsExtensionOrSharedModuleWhitelisted(url, extension_set, | 2745 return IsExtensionOrSharedModuleWhitelisted(url, extension_set, |
| 2740 allowed_file_handle_origins_) || | 2746 allowed_file_handle_origins_) || |
| 2741 IsHostAllowedByCommandLine(url, extension_set, | 2747 IsHostAllowedByCommandLine(url, extension_set, |
| 2742 switches::kAllowNaClFileHandleAPI); | 2748 switches::kAllowNaClFileHandleAPI); |
| 2743 #else | 2749 #else |
| 2744 return false; | 2750 return false; |
| 2745 #endif | 2751 #endif |
| 2746 } | 2752 } |
| 2747 | 2753 |
| 2748 bool ChromeContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs( | 2754 bool ChromeContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs( |
| 2749 content::BrowserContext* browser_context, | 2755 content::BrowserContext* browser_context, |
| 2750 const GURL& url) { | 2756 const GURL& url) { |
| 2751 #if defined(ENABLE_PLUGINS) | 2757 #if defined(ENABLE_PLUGINS) |
| 2752 // Allow access for tests. | 2758 // Allow access for tests. |
| 2753 if (CommandLine::ForCurrentProcess()->HasSwitch( | 2759 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 2754 switches::kEnablePepperTesting)) { | 2760 switches::kEnablePepperTesting)) { |
| 2755 return true; | 2761 return true; |
| 2756 } | 2762 } |
| 2757 | 2763 |
| 2758 Profile* profile = Profile::FromBrowserContext(browser_context); | 2764 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2759 const extensions::ExtensionSet* extension_set = NULL; | 2765 const extensions::ExtensionSet* extension_set = NULL; |
| 2760 if (profile) { | 2766 if (profile) { |
| 2761 extension_set = extensions::ExtensionSystem::Get(profile)-> | 2767 const ExtensionService* ext_service = |
| 2762 extension_service()->extensions(); | 2768 extensions::ExtensionSystem::Get(profile)->extension_service(); |
| 2769 if (ext_service) { |
| 2770 extension_set = ext_service->extensions(); |
| 2771 } |
| 2763 } | 2772 } |
| 2764 | 2773 |
| 2765 // Allow access for whitelisted applications. | 2774 // Allow access for whitelisted applications. |
| 2766 if (IsExtensionOrSharedModuleWhitelisted(url, | 2775 if (IsExtensionOrSharedModuleWhitelisted(url, |
| 2767 extension_set, | 2776 extension_set, |
| 2768 allowed_dev_channel_origins_)) { | 2777 allowed_dev_channel_origins_)) { |
| 2769 return true; | 2778 return true; |
| 2770 } | 2779 } |
| 2771 | 2780 |
| 2772 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); | 2781 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2806 switches::kDisableWebRtcEncryption, | 2815 switches::kDisableWebRtcEncryption, |
| 2807 }; | 2816 }; |
| 2808 to_command_line->CopySwitchesFrom(from_command_line, | 2817 to_command_line->CopySwitchesFrom(from_command_line, |
| 2809 kWebRtcDevSwitchNames, | 2818 kWebRtcDevSwitchNames, |
| 2810 arraysize(kWebRtcDevSwitchNames)); | 2819 arraysize(kWebRtcDevSwitchNames)); |
| 2811 } | 2820 } |
| 2812 } | 2821 } |
| 2813 #endif // defined(ENABLE_WEBRTC) | 2822 #endif // defined(ENABLE_WEBRTC) |
| 2814 | 2823 |
| 2815 } // namespace chrome | 2824 } // namespace chrome |
| OLD | NEW |