diff options
author | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 19:42:38 +0000 |
---|---|---|
committer | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 19:42:38 +0000 |
commit | c856e976800426511cd1a0f74d38c1fa7c883018 (patch) | |
tree | 830002f61641109962912782a5da28f7edd0d2f4 /chrome/browser/extensions/permissions_updater.cc | |
parent | c79f147c0474a311a83829a44b55aaffa42c6237 (diff) | |
download | chromium_src-c856e976800426511cd1a0f74d38c1fa7c883018.zip chromium_src-c856e976800426511cd1a0f74d38c1fa7c883018.tar.gz chromium_src-c856e976800426511cd1a0f74d38c1fa7c883018.tar.bz2 |
Check that the user is signed in and the app has oauth2 section before recording an aouth2 grant.
Review URL: https://chromiumcodereview.appspot.com/11066125
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161643 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/permissions_updater.cc')
-rw-r--r-- | chrome/browser/extensions/permissions_updater.cc | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/chrome/browser/extensions/permissions_updater.cc b/chrome/browser/extensions/permissions_updater.cc index 2a61b99..dd59de8 100644 --- a/chrome/browser/extensions/permissions_updater.cc +++ b/chrome/browser/extensions/permissions_updater.cc @@ -138,8 +138,19 @@ void PermissionsUpdater::GrantActivePermissions(const Extension* extension, extension->location() != Extension::INTERNAL) return; - if (record_oauth2_grant) - new OAuth2GrantRecorder(profile_, extension); + if (record_oauth2_grant) { + // Only record OAuth grant if: + // 1. The extension has client id and scopes. + // 2. The user is signed in to Chrome. + const Extension::OAuth2Info& oauth2_info = extension->oauth2_info(); + if (!oauth2_info.client_id.empty() && !oauth2_info.scopes.empty()) { + TokenService* token_service = TokenServiceFactory::GetForProfile( + profile_); + if (token_service && token_service->HasOAuthLoginToken()) { + new OAuth2GrantRecorder(profile_, extension); + } + } + } GetExtensionPrefs()->AddGrantedPermissions(extension->id(), extension->GetActivePermissions()); |