| 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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 #if !defined(DISABLE_NACL) | 216 #if !defined(DISABLE_NACL) |
| 217 #include "components/nacl/browser/nacl_browser.h" | 217 #include "components/nacl/browser/nacl_browser.h" |
| 218 #include "components/nacl/browser/nacl_host_message_filter.h" | 218 #include "components/nacl/browser/nacl_host_message_filter.h" |
| 219 #include "components/nacl/browser/nacl_process_host.h" | 219 #include "components/nacl/browser/nacl_process_host.h" |
| 220 #include "components/nacl/common/nacl_process_type.h" | 220 #include "components/nacl/common/nacl_process_type.h" |
| 221 #include "components/nacl/common/nacl_switches.h" | 221 #include "components/nacl/common/nacl_switches.h" |
| 222 #endif | 222 #endif |
| 223 | 223 |
| 224 #if defined(ENABLE_EXTENSIONS) | 224 #if defined(ENABLE_EXTENSIONS) |
| 225 #include "chrome/browser/extensions/chrome_content_browser_client_extensions_par
t.h" | 225 #include "chrome/browser/extensions/chrome_content_browser_client_extensions_par
t.h" |
| 226 #include "chrome/browser/extensions/extension_service.h" | |
| 227 #include "chrome/browser/extensions/extension_util.h" | 226 #include "chrome/browser/extensions/extension_util.h" |
| 228 #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" | 227 #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" |
| 229 #include "extensions/browser/extension_system.h" | 228 #include "extensions/browser/extension_registry.h" |
| 230 #include "extensions/browser/guest_view/guest_view_base.h" | 229 #include "extensions/browser/guest_view/guest_view_base.h" |
| 231 #include "extensions/browser/guest_view/guest_view_manager.h" | 230 #include "extensions/browser/guest_view/guest_view_manager.h" |
| 232 #include "extensions/browser/guest_view/web_view/web_view_guest.h" | 231 #include "extensions/browser/guest_view/web_view/web_view_guest.h" |
| 233 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" | 232 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" |
| 234 #include "extensions/browser/guest_view/web_view/web_view_renderer_state.h" | 233 #include "extensions/browser/guest_view/web_view/web_view_renderer_state.h" |
| 235 #include "extensions/common/constants.h" | 234 #include "extensions/common/constants.h" |
| 236 #include "extensions/common/extension.h" | 235 #include "extensions/common/extension.h" |
| 237 #include "extensions/common/extension_set.h" | 236 #include "extensions/common/extension_set.h" |
| 238 #include "extensions/common/manifest_handlers/background_info.h" | 237 #include "extensions/common/manifest_handlers/background_info.h" |
| 239 #include "extensions/common/manifest_handlers/shared_module_info.h" | 238 #include "extensions/common/manifest_handlers/shared_module_info.h" |
| (...skipping 2120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2360 | 2359 |
| 2361 bool ChromeContentBrowserClient::AllowPepperSocketAPI( | 2360 bool ChromeContentBrowserClient::AllowPepperSocketAPI( |
| 2362 content::BrowserContext* browser_context, | 2361 content::BrowserContext* browser_context, |
| 2363 const GURL& url, | 2362 const GURL& url, |
| 2364 bool private_api, | 2363 bool private_api, |
| 2365 const content::SocketPermissionRequest* params) { | 2364 const content::SocketPermissionRequest* params) { |
| 2366 #if defined(ENABLE_EXTENSIONS) | 2365 #if defined(ENABLE_EXTENSIONS) |
| 2367 Profile* profile = Profile::FromBrowserContext(browser_context); | 2366 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2368 const extensions::ExtensionSet* extension_set = NULL; | 2367 const extensions::ExtensionSet* extension_set = NULL; |
| 2369 if (profile) { | 2368 if (profile) { |
| 2370 const ExtensionService* ext_service = | 2369 extension_set = |
| 2371 extensions::ExtensionSystem::Get(profile)->extension_service(); | 2370 &extensions::ExtensionRegistry::Get(profile)->enabled_extensions(); |
| 2372 if (ext_service) { | |
| 2373 extension_set = ext_service->extensions(); | |
| 2374 } | |
| 2375 } | 2371 } |
| 2376 | 2372 |
| 2377 if (private_api) { | 2373 if (private_api) { |
| 2378 // Access to private socket APIs is controlled by the whitelist. | 2374 // Access to private socket APIs is controlled by the whitelist. |
| 2379 if (IsExtensionOrSharedModuleWhitelisted(url, extension_set, | 2375 if (IsExtensionOrSharedModuleWhitelisted(url, extension_set, |
| 2380 allowed_socket_origins_)) { | 2376 allowed_socket_origins_)) { |
| 2381 return true; | 2377 return true; |
| 2382 } | 2378 } |
| 2383 } else { | 2379 } else { |
| 2384 // Access to public socket APIs is controlled by extension permissions. | 2380 // Access to public socket APIs is controlled by extension permissions. |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2597 #endif | 2593 #endif |
| 2598 } | 2594 } |
| 2599 | 2595 |
| 2600 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( | 2596 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( |
| 2601 content::BrowserContext* browser_context, | 2597 content::BrowserContext* browser_context, |
| 2602 const GURL& url) { | 2598 const GURL& url) { |
| 2603 #if defined(ENABLE_EXTENSIONS) | 2599 #if defined(ENABLE_EXTENSIONS) |
| 2604 Profile* profile = Profile::FromBrowserContext(browser_context); | 2600 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2605 const extensions::ExtensionSet* extension_set = NULL; | 2601 const extensions::ExtensionSet* extension_set = NULL; |
| 2606 if (profile) { | 2602 if (profile) { |
| 2607 const ExtensionService* ext_service = | 2603 extension_set = |
| 2608 extensions::ExtensionSystem::Get(profile)->extension_service(); | 2604 &extensions::ExtensionRegistry::Get(profile)->enabled_extensions(); |
| 2609 if (ext_service) { | |
| 2610 extension_set = ext_service->extensions(); | |
| 2611 } | |
| 2612 } | 2605 } |
| 2613 return IsExtensionOrSharedModuleWhitelisted(url, extension_set, | 2606 return IsExtensionOrSharedModuleWhitelisted(url, extension_set, |
| 2614 allowed_file_handle_origins_) || | 2607 allowed_file_handle_origins_) || |
| 2615 IsHostAllowedByCommandLine(url, extension_set, | 2608 IsHostAllowedByCommandLine(url, extension_set, |
| 2616 switches::kAllowNaClFileHandleAPI); | 2609 switches::kAllowNaClFileHandleAPI); |
| 2617 #else | 2610 #else |
| 2618 return false; | 2611 return false; |
| 2619 #endif | 2612 #endif |
| 2620 } | 2613 } |
| 2621 | 2614 |
| 2622 bool ChromeContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs( | 2615 bool ChromeContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs( |
| 2623 content::BrowserContext* browser_context, | 2616 content::BrowserContext* browser_context, |
| 2624 const GURL& url) { | 2617 const GURL& url) { |
| 2625 #if defined(ENABLE_EXTENSIONS) | 2618 #if defined(ENABLE_EXTENSIONS) |
| 2626 // Allow access for tests. | 2619 // Allow access for tests. |
| 2627 if (CommandLine::ForCurrentProcess()->HasSwitch( | 2620 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 2628 switches::kEnablePepperTesting)) { | 2621 switches::kEnablePepperTesting)) { |
| 2629 return true; | 2622 return true; |
| 2630 } | 2623 } |
| 2631 | 2624 |
| 2632 Profile* profile = Profile::FromBrowserContext(browser_context); | 2625 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 2633 const extensions::ExtensionSet* extension_set = NULL; | 2626 const extensions::ExtensionSet* extension_set = NULL; |
| 2634 if (profile) { | 2627 if (profile) { |
| 2635 const ExtensionService* ext_service = | 2628 extension_set = |
| 2636 extensions::ExtensionSystem::Get(profile)->extension_service(); | 2629 &extensions::ExtensionRegistry::Get(profile)->enabled_extensions(); |
| 2637 if (ext_service) { | |
| 2638 extension_set = ext_service->extensions(); | |
| 2639 } | |
| 2640 } | 2630 } |
| 2641 | 2631 |
| 2642 // Allow access for whitelisted applications. | 2632 // Allow access for whitelisted applications. |
| 2643 if (IsExtensionOrSharedModuleWhitelisted(url, | 2633 if (IsExtensionOrSharedModuleWhitelisted(url, |
| 2644 extension_set, | 2634 extension_set, |
| 2645 allowed_dev_channel_origins_)) { | 2635 allowed_dev_channel_origins_)) { |
| 2646 return true; | 2636 return true; |
| 2647 } | 2637 } |
| 2648 | 2638 |
| 2649 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); | 2639 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2683 switches::kDisableWebRtcEncryption, | 2673 switches::kDisableWebRtcEncryption, |
| 2684 }; | 2674 }; |
| 2685 to_command_line->CopySwitchesFrom(from_command_line, | 2675 to_command_line->CopySwitchesFrom(from_command_line, |
| 2686 kWebRtcDevSwitchNames, | 2676 kWebRtcDevSwitchNames, |
| 2687 arraysize(kWebRtcDevSwitchNames)); | 2677 arraysize(kWebRtcDevSwitchNames)); |
| 2688 } | 2678 } |
| 2689 } | 2679 } |
| 2690 #endif // defined(ENABLE_WEBRTC) | 2680 #endif // defined(ENABLE_WEBRTC) |
| 2691 | 2681 |
| 2692 } // namespace chrome | 2682 } // namespace chrome |
| OLD | NEW |