diff options
author | rdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-06 05:04:36 +0000 |
---|---|---|
committer | rdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-06 05:04:36 +0000 |
commit | a6910e7458ad8ce393b97696307230ceb12a6b77 (patch) | |
tree | 24afa5b7b8a8c41a24755007e747a67b084d744f /chrome/browser/extensions/api | |
parent | bebb1a87602202e572d4a817d5aa047d32a70cf0 (diff) | |
download | chromium_src-a6910e7458ad8ce393b97696307230ceb12a6b77.zip chromium_src-a6910e7458ad8ce393b97696307230ceb12a6b77.tar.gz chromium_src-a6910e7458ad8ce393b97696307230ceb12a6b77.tar.bz2 |
Remove PermissionsData::ForExtension() completely
There's no reason to have this. It was originally because PermissionsData
didn't really belong on Extension (and was to be taken off), but now that
PermissionsData is refactored to only include active permissions, it belongs
on the extension object.
TBR=ben@chromium.org (c/b/ui - simple refactor, no functional changes)
TBR=thestig@chromium.org (c/b/media_galleries - simple refactor, no functional changes)
BUG=379356
Review URL: https://codereview.chromium.org/315573003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275332 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/api')
14 files changed, 55 insertions, 64 deletions
diff --git a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc index ff816df..cf03b4b 100644 --- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc +++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc @@ -59,7 +59,7 @@ bool CanRequestAutomation(const Extension* extension, content::RenderProcessHost* process = contents->GetRenderProcessHost(); int process_id = process ? process->GetID() : -1; std::string unused_error; - return PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( + return extension->permissions_data()->CanExecuteScriptOnPage( extension, url, url, tab_id, NULL, process_id, &unused_error); } diff --git a/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc b/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc index d31c58e..d5a3fe6 100644 --- a/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc +++ b/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc @@ -32,17 +32,16 @@ namespace extensions { namespace { base::ListValue* GetHostPermissions(const Extension* ext, bool effective_perm) { - extensions::URLPatternSet pattern_set; - if (effective_perm) { - pattern_set = extensions::PermissionsData::ForExtension(ext) - ->GetEffectiveHostPermissions(); - } else { + URLPatternSet pattern_set; + if (effective_perm) + pattern_set = ext->permissions_data()->GetEffectiveHostPermissions(); + else pattern_set = ext->GetActivePermissions()->explicit_hosts(); - } base::ListValue* permissions = new base::ListValue; - for (extensions::URLPatternSet::const_iterator perm = pattern_set.begin(); - perm != pattern_set.end(); ++perm) { + for (URLPatternSet::const_iterator perm = pattern_set.begin(); + perm != pattern_set.end(); + ++perm) { permissions->Append(new base::StringValue(perm->GetAsString())); } @@ -150,10 +149,9 @@ bool AutotestPrivateLockScreenFunction::RunSync() { bool AutotestPrivateGetExtensionsInfoFunction::RunSync() { DVLOG(1) << "AutotestPrivateGetExtensionsInfoFunction"; - ExtensionService* service = extensions::ExtensionSystem::Get( - GetProfile())->extension_service(); - ExtensionRegistry* registry = - extensions::ExtensionRegistry::Get(GetProfile()); + ExtensionService* service = + ExtensionSystem::Get(GetProfile())->extension_service(); + ExtensionRegistry* registry = ExtensionRegistry::Get(GetProfile()); const ExtensionSet& extensions = registry->enabled_extensions(); const ExtensionSet& disabled_extensions = registry->disabled_extensions(); ExtensionActionManager* extension_action_manager = @@ -173,10 +171,10 @@ bool AutotestPrivateGetExtensionsInfoFunction::RunSync() { extension_value->SetString("name", extension->name()); extension_value->SetString("publicKey", extension->public_key()); extension_value->SetString("description", extension->description()); - extension_value->SetString("backgroundUrl", - extensions::BackgroundInfo::GetBackgroundURL(extension).spec()); + extension_value->SetString( + "backgroundUrl", BackgroundInfo::GetBackgroundURL(extension).spec()); extension_value->SetString("optionsUrl", - extensions::ManifestURL::GetOptionsPage(extension).spec()); + ManifestURL::GetOptionsPage(extension).spec()); extension_value->Set("hostPermissions", GetHostPermissions(extension, false)); diff --git a/chrome/browser/extensions/api/commands/command_service.cc b/chrome/browser/extensions/api/commands/command_service.cc index 89f8b2a..ff447eb 100644 --- a/chrome/browser/extensions/api/commands/command_service.cc +++ b/chrome/browser/extensions/api/commands/command_service.cc @@ -171,8 +171,8 @@ bool CommandService::RemovesBookmarkShortcut(const Extension* extension) { SettingsOverrides::RemovesBookmarkShortcut(*settings_overrides)) || (ui_overrides && UIOverrides::RemovesBookmarkShortcut(*ui_overrides))) && - (PermissionsData::ForExtension(extension) - ->HasAPIPermission(APIPermission::kBookmarkManagerPrivate) || + (extension->permissions_data()->HasAPIPermission( + APIPermission::kBookmarkManagerPrivate) || FeatureSwitch::enable_override_bookmarks_ui()->IsEnabled()); } @@ -188,8 +188,8 @@ bool CommandService::RemovesBookmarkOpenPagesShortcut( *settings_overrides)) || (ui_overrides && UIOverrides::RemovesBookmarkOpenPagesShortcut(*ui_overrides))) && - (PermissionsData::ForExtension(extension) - ->HasAPIPermission(APIPermission::kBookmarkManagerPrivate) || + (extension->permissions_data()->HasAPIPermission( + APIPermission::kBookmarkManagerPrivate) || FeatureSwitch::enable_override_bookmarks_ui()->IsEnabled()); } diff --git a/chrome/browser/extensions/api/cookies/cookies_api.cc b/chrome/browser/extensions/api/cookies/cookies_api.cc index b03a05a..cbb93dc 100644 --- a/chrome/browser/extensions/api/cookies/cookies_api.cc +++ b/chrome/browser/extensions/api/cookies/cookies_api.cc @@ -62,8 +62,7 @@ bool ParseUrl(ChromeAsyncExtensionFunction* function, } // Check against host permissions if needed. if (check_host_permissions && - !PermissionsData::ForExtension(function->GetExtension()) - ->HasHostPermission(*url)) { + !function->GetExtension()->permissions_data()->HasHostPermission(*url)) { function->SetError(ErrorUtils::FormatErrorMessage( keys::kNoHostPermissionsError, url->spec())); return false; diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/browser/extensions/api/cookies/cookies_helpers.cc index 71e5818..f22fc7d 100644 --- a/chrome/browser/extensions/api/cookies/cookies_helpers.cc +++ b/chrome/browser/extensions/api/cookies/cookies_helpers.cc @@ -136,8 +136,7 @@ void AppendMatchingCookiesToVector(const net::CookieList& all_cookies, // Ignore any cookie whose domain doesn't match the extension's // host permissions. GURL cookie_domain_url = GetURLFromCanonicalCookie(*it); - if (!PermissionsData::ForExtension(extension) - ->HasHostPermission(cookie_domain_url)) + if (!extension->permissions_data()->HasHostPermission(cookie_domain_url)) continue; // Filter the cookie using the match filter. cookies_helpers::MatchFilter filter(details); diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc index 1ac200e..5def40b 100644 --- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc +++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc @@ -344,7 +344,7 @@ bool WebRequestRulesRegistry::HostPermissionsChecker( const Extension* extension, const WebRequestActionSet* actions, std::string* error) { - if (PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()) + if (extension->permissions_data()->HasEffectiveAccessToAllHosts()) return true; // Without the permission for all URLs, actions with the STRATEGY_DEFAULT diff --git a/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc b/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc index 2bb0177..7c1d6a0 100644 --- a/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc +++ b/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc @@ -196,8 +196,8 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, ExtensionService* service = extensions::ExtensionSystem::Get( browser()->profile())->extension_service(); ASSERT_FALSE( - PermissionsData::ForExtension( - service->GetExtensionById(last_loaded_extension_id(), false)) + service->GetExtensionById(last_loaded_extension_id(), false) + ->permissions_data() ->HasAPIPermissionForTab( SessionID::IdForTab( browser()->tab_strip_model()->GetActiveWebContents()), diff --git a/chrome/browser/extensions/api/hid/hid_api.cc b/chrome/browser/extensions/api/hid/hid_api.cc index 6d41ad8..2462384 100644 --- a/chrome/browser/extensions/api/hid/hid_api.cc +++ b/chrome/browser/extensions/api/hid/hid_api.cc @@ -87,8 +87,8 @@ void HidGetDevicesFunction::AsyncWorkStart() { const uint16_t product_id = parameters_->options.product_id; UsbDevicePermission::CheckParam param( vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE); - if (!PermissionsData::ForExtension(GetExtension()) - ->CheckAPIPermissionWithParam(APIPermission::kUsbDevice, ¶m)) { + if (!GetExtension()->permissions_data()->CheckAPIPermissionWithParam( + APIPermission::kUsbDevice, ¶m)) { LOG(WARNING) << "Insufficient permissions to access device."; CompleteWithError(kErrorPermissionDenied); return; @@ -119,8 +119,8 @@ void HidConnectFunction::AsyncWorkStart() { device_info.vendor_id, device_info.product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE); - if (!PermissionsData::ForExtension(GetExtension()) - ->CheckAPIPermissionWithParam(APIPermission::kUsbDevice, ¶m)) { + if (!GetExtension()->permissions_data()->CheckAPIPermissionWithParam( + APIPermission::kUsbDevice, ¶m)) { LOG(WARNING) << "Insufficient permissions to access device."; CompleteWithError(kErrorPermissionDenied); return; diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc index fdc4b35..1e7d3f8 100644 --- a/chrome/browser/extensions/api/management/management_api.cc +++ b/chrome/browser/extensions/api/management/management_api.cc @@ -90,7 +90,7 @@ AutoConfirmForTest auto_confirm_for_test = DO_NOT_SKIP; std::vector<std::string> CreateWarningsList(const Extension* extension) { std::vector<std::string> warnings_list; PermissionMessages warnings = - PermissionsData::ForExtension(extension)->GetPermissionMessages(); + extension->permissions_data()->GetPermissionMessages(); for (PermissionMessages::const_iterator iter = warnings.begin(); iter != warnings.end(); ++iter) { warnings_list.push_back(base::UTF16ToUTF8(iter->message())); diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc index 77edb3e..21d205d 100644 --- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc +++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc @@ -143,8 +143,7 @@ base::ListValue* ConstructFileSystemList( MediaGalleriesPermission::CheckParam read_param( MediaGalleriesPermission::kReadPermission); - const PermissionsData* permissions_data = - PermissionsData::ForExtension(extension); + const PermissionsData* permissions_data = extension->permissions_data(); bool has_read_permission = permissions_data->CheckAPIPermissionWithParam( APIPermission::kMediaGalleries, &read_param); MediaGalleriesPermission::CheckParam copy_to_param( @@ -211,7 +210,7 @@ bool CheckScanPermission(const extensions::Extension* extension, MediaGalleriesPermission::CheckParam scan_param( MediaGalleriesPermission::kScanPermission); bool has_scan_permission = - PermissionsData::ForExtension(extension)->CheckAPIPermissionWithParam( + extension->permissions_data()->CheckAPIPermissionWithParam( APIPermission::kMediaGalleries, &scan_param); if (!has_scan_permission) *error = kNoScanPermission; diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc index 5967dac..c88fbc9 100644 --- a/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc +++ b/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc @@ -89,8 +89,8 @@ bool TabCaptureCaptureFunction::RunSync() { // Make sure either we have been granted permission to capture through an // extension icon click or our extension is whitelisted. - if (!PermissionsData::ForExtension(extension) - ->HasAPIPermissionForTab(tab_id, APIPermission::kTabCaptureForTab) && + if (!extension->permissions_data()->HasAPIPermissionForTab( + tab_id, APIPermission::kTabCaptureForTab) && CommandLine::ForCurrentProcess()->GetSwitchValueASCII( switches::kWhitelistedExtensionID) != extension_id && !SimpleFeature::IsIdInList( diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc index cf0bab4..876d5a2 100644 --- a/chrome/browser/extensions/api/tabs/tabs_api.cc +++ b/chrome/browser/extensions/api/tabs/tabs_api.cc @@ -1178,14 +1178,14 @@ bool TabsUpdateFunction::UpdateURL(const std::string &url_string, // we need to check host permissions before allowing them. if (url.SchemeIs(url::kJavaScriptScheme)) { content::RenderProcessHost* process = web_contents_->GetRenderProcessHost(); - if (!PermissionsData::ForExtension(GetExtension()) - ->CanExecuteScriptOnPage(GetExtension(), - web_contents_->GetURL(), - web_contents_->GetURL(), - tab_id, - NULL, - process ? process->GetID() : -1, - &error_)) { + if (!GetExtension()->permissions_data()->CanExecuteScriptOnPage( + GetExtension(), + web_contents_->GetURL(), + web_contents_->GetURL(), + tab_id, + NULL, + process ? process->GetID() : -1, + &error_)) { return false; } @@ -1504,8 +1504,8 @@ WebContents* TabsCaptureVisibleTabFunction::GetWebContentsForID(int window_id) { return NULL; } - if (!PermissionsData::ForExtension(GetExtension()) - ->CanCaptureVisiblePage(SessionID::IdForTab(contents), &error_)) { + if (!GetExtension()->permissions_data()->CanCaptureVisiblePage( + SessionID::IdForTab(contents), &error_)) { return NULL; } return contents; @@ -1627,8 +1627,8 @@ ExecuteCodeInTabFunction::~ExecuteCodeInTabFunction() {} bool ExecuteCodeInTabFunction::HasPermission() { if (Init() && - PermissionsData::ForExtension(extension_) - ->HasAPIPermissionForTab(execute_tab_id_, APIPermission::kTab)) { + extension_->permissions_data()->HasAPIPermissionForTab( + execute_tab_id_, APIPermission::kTab)) { return true; } return ExtensionFunction::HasPermission(); @@ -1656,14 +1656,14 @@ bool ExecuteCodeInTabFunction::CanExecuteScriptOnPage() { // NOTE: This can give the wrong answer due to race conditions, but it is OK, // we check again in the renderer. content::RenderProcessHost* process = contents->GetRenderProcessHost(); - if (!PermissionsData::ForExtension(GetExtension()) - ->CanExecuteScriptOnPage(GetExtension(), - contents->GetURL(), - contents->GetURL(), - execute_tab_id_, - NULL, - process ? process->GetID() : -1, - &error_)) { + if (!GetExtension()->permissions_data()->CanExecuteScriptOnPage( + GetExtension(), + contents->GetURL(), + contents->GetURL(), + execute_tab_id_, + NULL, + process ? process->GetID() : -1, + &error_)) { return false; } diff --git a/chrome/browser/extensions/api/web_request/web_request_api.cc b/chrome/browser/extensions/api/web_request/web_request_api.cc index 005d58a..b4e8158d 100644 --- a/chrome/browser/extensions/api/web_request/web_request_api.cc +++ b/chrome/browser/extensions/api/web_request/web_request_api.cc @@ -2230,9 +2230,7 @@ bool WebRequestInternalAddEventListenerFunction::RunSync() { // For this reason we do only a coarse check here to warn the extension // developer if he does something obviously wrong. if (!is_web_view_guest && - extensions::PermissionsData::ForExtension(extension) - ->GetEffectiveHostPermissions() - .is_empty()) { + extension->permissions_data()->GetEffectiveHostPermissions().is_empty()) { error_ = keys::kHostPermissionsRequired; return false; } diff --git a/chrome/browser/extensions/api/web_request/web_request_permissions.cc b/chrome/browser/extensions/api/web_request/web_request_permissions.cc index 5d0d7a8..1617c72 100644 --- a/chrome/browser/extensions/api/web_request/web_request_permissions.cc +++ b/chrome/browser/extensions/api/web_request/web_request_permissions.cc @@ -133,15 +133,13 @@ bool WebRequestPermissions::CanExtensionAccessURL( // about: URLs are not covered in host permissions, but are allowed // anyway. if (!((url.SchemeIs(content::kAboutScheme) || - extensions::PermissionsData::ForExtension(extension) - ->HasHostPermission(url) || + extension->permissions_data()->HasHostPermission(url) || url.GetOrigin() == extension->url()))) { return false; } break; case REQUIRE_ALL_URLS: - if (!extensions::PermissionsData::ForExtension(extension) - ->HasEffectiveAccessToAllHosts()) + if (!extension->permissions_data()->HasEffectiveAccessToAllHosts()) return false; break; } |