summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/permissions_updater.cc
diff options
context:
space:
mode:
authormunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 19:42:38 +0000
committermunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 19:42:38 +0000
commitc856e976800426511cd1a0f74d38c1fa7c883018 (patch)
tree830002f61641109962912782a5da28f7edd0d2f4 /chrome/browser/extensions/permissions_updater.cc
parentc79f147c0474a311a83829a44b55aaffa42c6237 (diff)
downloadchromium_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.cc15
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());