Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Side by Side Diff: chrome/browser/chrome_content_browser_client.cc

Issue 102103005: Move c/c/e/extension_set to top-level extensions/ (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 #include "chrome/browser/ui/chrome_select_file_policy.h" 83 #include "chrome/browser/ui/chrome_select_file_policy.h"
84 #include "chrome/browser/ui/sync/sync_promo_ui.h" 84 #include "chrome/browser/ui/sync/sync_promo_ui.h"
85 #include "chrome/browser/ui/tab_contents/chrome_web_contents_view_delegate.h" 85 #include "chrome/browser/ui/tab_contents/chrome_web_contents_view_delegate.h"
86 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" 86 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h"
87 #include "chrome/common/chrome_constants.h" 87 #include "chrome/common/chrome_constants.h"
88 #include "chrome/common/chrome_paths.h" 88 #include "chrome/common/chrome_paths.h"
89 #include "chrome/common/chrome_switches.h" 89 #include "chrome/common/chrome_switches.h"
90 #include "chrome/common/chrome_version_info.h" 90 #include "chrome/common/chrome_version_info.h"
91 #include "chrome/common/env_vars.h" 91 #include "chrome/common/env_vars.h"
92 #include "chrome/common/extensions/extension_process_policy.h" 92 #include "chrome/common/extensions/extension_process_policy.h"
93 #include "chrome/common/extensions/extension_set.h"
94 #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h" 93 #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h"
95 #include "chrome/common/extensions/permissions/socket_permission.h" 94 #include "chrome/common/extensions/permissions/socket_permission.h"
96 #include "chrome/common/extensions/web_accessible_resources_handler.h" 95 #include "chrome/common/extensions/web_accessible_resources_handler.h"
97 #include "chrome/common/logging_chrome.h" 96 #include "chrome/common/logging_chrome.h"
98 #include "chrome/common/pepper_permission_util.h" 97 #include "chrome/common/pepper_permission_util.h"
99 #include "chrome/common/pref_names.h" 98 #include "chrome/common/pref_names.h"
100 #include "chrome/common/render_messages.h" 99 #include "chrome/common/render_messages.h"
101 #include "chrome/common/url_constants.h" 100 #include "chrome/common/url_constants.h"
102 #include "chrome/installer/util/google_update_settings.h" 101 #include "chrome/installer/util/google_update_settings.h"
103 #include "chromeos/chromeos_constants.h" 102 #include "chromeos/chromeos_constants.h"
(...skipping 17 matching lines...) Expand all
121 #include "content/public/browser/web_contents.h" 120 #include "content/public/browser/web_contents.h"
122 #include "content/public/browser/web_contents_view.h" 121 #include "content/public/browser/web_contents_view.h"
123 #include "content/public/common/child_process_host.h" 122 #include "content/public/common/child_process_host.h"
124 #include "content/public/common/content_descriptors.h" 123 #include "content/public/common/content_descriptors.h"
125 #include "content/public/common/url_utils.h" 124 #include "content/public/common/url_utils.h"
126 #include "extensions/browser/info_map.h" 125 #include "extensions/browser/info_map.h"
127 #include "extensions/browser/process_manager.h" 126 #include "extensions/browser/process_manager.h"
128 #include "extensions/browser/view_type_utils.h" 127 #include "extensions/browser/view_type_utils.h"
129 #include "extensions/common/constants.h" 128 #include "extensions/common/constants.h"
130 #include "extensions/common/extension.h" 129 #include "extensions/common/extension.h"
130 #include "extensions/common/extension_set.h"
131 #include "extensions/common/manifest_handlers/background_info.h" 131 #include "extensions/common/manifest_handlers/background_info.h"
132 #include "extensions/common/manifest_handlers/shared_module_info.h" 132 #include "extensions/common/manifest_handlers/shared_module_info.h"
133 #include "extensions/common/permissions/permissions_data.h" 133 #include "extensions/common/permissions/permissions_data.h"
134 #include "extensions/common/switches.h" 134 #include "extensions/common/switches.h"
135 #include "grit/generated_resources.h" 135 #include "grit/generated_resources.h"
136 #include "grit/ui_resources.h" 136 #include "grit/ui_resources.h"
137 #include "net/base/mime_util.h" 137 #include "net/base/mime_util.h"
138 #include "net/cookies/canonical_cookie.h" 138 #include "net/cookies/canonical_cookie.h"
139 #include "net/cookies/cookie_options.h" 139 #include "net/cookies/cookie_options.h"
140 #include "net/ssl/ssl_cert_request_info.h" 140 #include "net/ssl/ssl_cert_request_info.h"
(...skipping 1749 matching lines...) Expand 10 before | Expand all | Expand 10 after
1890 // Skip showing the infobar if the request comes from an extension, and that 1890 // Skip showing the infobar if the request comes from an extension, and that
1891 // extension has the 'notify' permission. (If the extension does not have the 1891 // extension has the 'notify' permission. (If the extension does not have the
1892 // permission, the user will still be prompted.) 1892 // permission, the user will still be prompted.)
1893 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext()); 1893 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
1894 InfoMap* extension_info_map = 1894 InfoMap* extension_info_map =
1895 extensions::ExtensionSystem::Get(profile)->info_map(); 1895 extensions::ExtensionSystem::Get(profile)->info_map();
1896 DesktopNotificationService* notification_service = 1896 DesktopNotificationService* notification_service =
1897 DesktopNotificationServiceFactory::GetForProfile(profile); 1897 DesktopNotificationServiceFactory::GetForProfile(profile);
1898 const Extension* extension = NULL; 1898 const Extension* extension = NULL;
1899 if (extension_info_map) { 1899 if (extension_info_map) {
1900 ExtensionSet extensions; 1900 extensions::ExtensionSet extensions;
1901 extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin( 1901 extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin(
1902 source_origin, render_process_id, 1902 source_origin, render_process_id,
1903 extensions::APIPermission::kNotification, &extensions); 1903 extensions::APIPermission::kNotification, &extensions);
1904 for (ExtensionSet::const_iterator iter = extensions.begin(); 1904 for (extensions::ExtensionSet::const_iterator iter = extensions.begin();
1905 iter != extensions.end(); ++iter) { 1905 iter != extensions.end(); ++iter) {
1906 if (notification_service->IsNotifierEnabled(NotifierId( 1906 if (notification_service->IsNotifierEnabled(NotifierId(
1907 NotifierId::APPLICATION, (*iter)->id()))) { 1907 NotifierId::APPLICATION, (*iter)->id()))) {
1908 extension = iter->get(); 1908 extension = iter->get();
1909 break; 1909 break;
1910 } 1910 }
1911 } 1911 }
1912 } 1912 }
1913 RenderViewHost* rvh = 1913 RenderViewHost* rvh =
1914 RenderViewHost::FromID(render_process_id, render_view_id); 1914 RenderViewHost::FromID(render_process_id, render_view_id);
(...skipping 18 matching lines...) Expand all
1933 int render_process_id) { 1933 int render_process_id) {
1934 #if defined(ENABLE_NOTIFICATIONS) 1934 #if defined(ENABLE_NOTIFICATIONS)
1935 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 1935 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
1936 1936
1937 ProfileIOData* io_data = ProfileIOData::FromResourceContext(context); 1937 ProfileIOData* io_data = ProfileIOData::FromResourceContext(context);
1938 InfoMap* extension_info_map = io_data->GetExtensionInfoMap(); 1938 InfoMap* extension_info_map = io_data->GetExtensionInfoMap();
1939 1939
1940 // We want to see if there is an extension that hasn't been manually disabled 1940 // We want to see if there is an extension that hasn't been manually disabled
1941 // that has the notifications permission and applies to this security origin. 1941 // that has the notifications permission and applies to this security origin.
1942 // First, get the list of extensions with permission for the origin. 1942 // First, get the list of extensions with permission for the origin.
1943 ExtensionSet extensions; 1943 extensions::ExtensionSet extensions;
1944 extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin( 1944 extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin(
1945 source_origin, render_process_id, 1945 source_origin, render_process_id,
1946 extensions::APIPermission::kNotification, &extensions); 1946 extensions::APIPermission::kNotification, &extensions);
1947 for (ExtensionSet::const_iterator iter = extensions.begin(); 1947 for (extensions::ExtensionSet::const_iterator iter = extensions.begin();
1948 iter != extensions.end(); ++iter) { 1948 iter != extensions.end(); ++iter) {
1949 // Then, check to see if it's been disabled by the user. 1949 // Then, check to see if it's been disabled by the user.
1950 if (!extension_info_map->AreNotificationsDisabled((*iter)->id())) 1950 if (!extension_info_map->AreNotificationsDisabled((*iter)->id()))
1951 return blink::WebNotificationPresenter::PermissionAllowed; 1951 return blink::WebNotificationPresenter::PermissionAllowed;
1952 } 1952 }
1953 1953
1954 // No enabled extensions exist, so check the normal host content settings. 1954 // No enabled extensions exist, so check the normal host content settings.
1955 HostContentSettingsMap* host_content_settings_map = 1955 HostContentSettingsMap* host_content_settings_map =
1956 io_data->GetHostContentSettingsMap(); 1956 io_data->GetHostContentSettingsMap();
1957 ContentSetting setting = host_content_settings_map->GetContentSetting( 1957 ContentSetting setting = host_content_settings_map->GetContentSetting(
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
2422 extension->HasAPIPermission(APIPermission::kAdView); 2422 extension->HasAPIPermission(APIPermission::kAdView);
2423 } 2423 }
2424 2424
2425 bool ChromeContentBrowserClient::AllowPepperSocketAPI( 2425 bool ChromeContentBrowserClient::AllowPepperSocketAPI(
2426 content::BrowserContext* browser_context, 2426 content::BrowserContext* browser_context,
2427 const GURL& url, 2427 const GURL& url,
2428 bool private_api, 2428 bool private_api,
2429 const content::SocketPermissionRequest* params) { 2429 const content::SocketPermissionRequest* params) {
2430 #if defined(ENABLE_PLUGINS) 2430 #if defined(ENABLE_PLUGINS)
2431 Profile* profile = Profile::FromBrowserContext(browser_context); 2431 Profile* profile = Profile::FromBrowserContext(browser_context);
2432 const ExtensionSet* extension_set = NULL; 2432 const extensions::ExtensionSet* extension_set = NULL;
2433 if (profile) { 2433 if (profile) {
2434 extension_set = extensions::ExtensionSystem::Get(profile)-> 2434 extension_set = extensions::ExtensionSystem::Get(profile)->
2435 extension_service()->extensions(); 2435 extension_service()->extensions();
2436 } 2436 }
2437 2437
2438 if (private_api) { 2438 if (private_api) {
2439 // Access to private socket APIs is controlled by the whitelist. 2439 // Access to private socket APIs is controlled by the whitelist.
2440 if (IsExtensionOrSharedModuleWhitelisted(url, extension_set, 2440 if (IsExtensionOrSharedModuleWhitelisted(url, extension_set,
2441 allowed_socket_origins_)) { 2441 allowed_socket_origins_)) {
2442 return true; 2442 return true;
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2606 return; 2606 return;
2607 } 2607 }
2608 } 2608 }
2609 #endif 2609 #endif
2610 2610
2611 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( 2611 bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle(
2612 content::BrowserContext* browser_context, 2612 content::BrowserContext* browser_context,
2613 const GURL& url) { 2613 const GURL& url) {
2614 #if defined(ENABLE_PLUGINS) 2614 #if defined(ENABLE_PLUGINS)
2615 Profile* profile = Profile::FromBrowserContext(browser_context); 2615 Profile* profile = Profile::FromBrowserContext(browser_context);
2616 const ExtensionSet* extension_set = NULL; 2616 const extensions::ExtensionSet* extension_set = NULL;
2617 if (profile) { 2617 if (profile) {
2618 extension_set = extensions::ExtensionSystem::Get(profile)-> 2618 extension_set = extensions::ExtensionSystem::Get(profile)->
2619 extension_service()->extensions(); 2619 extension_service()->extensions();
2620 } 2620 }
2621 // TODO(teravest): Populate allowed_file_handle_origins_ when FileIO is moved 2621 // TODO(teravest): Populate allowed_file_handle_origins_ when FileIO is moved
2622 // from the renderer to the browser. 2622 // from the renderer to the browser.
2623 return IsExtensionOrSharedModuleWhitelisted(url, extension_set, 2623 return IsExtensionOrSharedModuleWhitelisted(url, extension_set,
2624 allowed_file_handle_origins_) || 2624 allowed_file_handle_origins_) ||
2625 IsHostAllowedByCommandLine(url, extension_set, 2625 IsHostAllowedByCommandLine(url, extension_set,
2626 switches::kAllowNaClFileHandleAPI); 2626 switches::kAllowNaClFileHandleAPI);
(...skipping 12 matching lines...) Expand all
2639 2639
2640 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); 2640 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
2641 return channel <= chrome::VersionInfo::CHANNEL_DEV; 2641 return channel <= chrome::VersionInfo::CHANNEL_DEV;
2642 #else 2642 #else
2643 return false; 2643 return false;
2644 #endif 2644 #endif
2645 } 2645 }
2646 2646
2647 2647
2648 } // namespace chrome 2648 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/cookies_tree_model.cc ('k') | chrome/browser/chromeos/file_manager/file_browser_handlers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698