diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-03 17:53:37 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-03 17:53:37 +0000 |
commit | f746b3f2db3603c6f0567b9f68ac9d0b2d393e7c (patch) | |
tree | f5f00bba897bd8dc3459ca58aaf551974393ebb9 /chrome/browser/extensions/extension_install_prompt.cc | |
parent | bff93023230accd34f32443857b88ab17e1d9a0b (diff) | |
download | chromium_src-f746b3f2db3603c6f0567b9f68ac9d0b2d393e7c.zip chromium_src-f746b3f2db3603c6f0567b9f68ac9d0b2d393e7c.tar.gz chromium_src-f746b3f2db3603c6f0567b9f68ac9d0b2d393e7c.tar.bz2 |
make getAuthToken interactive
when interactive is true, and the grant is missing, getAuthToken will pop up a permission confirmation dialog.
BUG=130206
TEST=manual
Review URL: https://chromiumcodereview.appspot.com/10694046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145331 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_install_prompt.cc')
-rw-r--r-- | chrome/browser/extensions/extension_install_prompt.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc index 9e6f36e..aade1ec 100644 --- a/chrome/browser/extensions/extension_install_prompt.cc +++ b/chrome/browser/extensions/extension_install_prompt.cc @@ -364,6 +364,21 @@ void ExtensionInstallPrompt::ConfirmPermissions( LoadImageIfNeeded(); } +void ExtensionInstallPrompt::ConfirmIssueAdvice( + Delegate* delegate, + const Extension* extension, + const IssueAdviceInfo& issue_advice) { + DCHECK(ui_loop_ == MessageLoop::current()); + extension_ = extension; + delegate_ = delegate; + prompt_type_ = PERMISSIONS_PROMPT; + + record_oauth2_grant_ = true; + prompt_.SetOAuthIssueAdvice(issue_advice); + + LoadImageIfNeeded(); +} + void ExtensionInstallPrompt::OnInstallSuccess(const Extension* extension, SkBitmap* icon) { extension_ = extension; @@ -411,6 +426,7 @@ void ExtensionInstallPrompt::LoadImageIfNeeded() { void ExtensionInstallPrompt::FetchOAuthIssueAdviceIfNeeded() { const Extension::OAuth2Info& oauth2_info = extension_->oauth2_info(); if (ShouldAutomaticallyApproveScopes() || + prompt_.GetOAuthIssueCount() != 0U || oauth2_info.client_id.empty() || permissions_->scopes().empty() || prompt_type_ == BUNDLE_INSTALL_PROMPT || @@ -450,7 +466,9 @@ void ExtensionInstallPrompt::OnMintTokenFailure( void ExtensionInstallPrompt::ShowConfirmation() { prompt_.set_type(prompt_type_); - prompt_.SetPermissions(permissions_->GetWarningMessages()); + + if (permissions_) + prompt_.SetPermissions(permissions_->GetWarningMessages()); switch (prompt_type_) { case PERMISSIONS_PROMPT: |