diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-12 10:52:41 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-12 10:52:41 +0000 |
commit | 668ed2c8747b70dcc91df87523c205c29aa1108b (patch) | |
tree | 2d348ff017fb4e89725a5eecb80ebe0c1f281401 /chrome/browser/extensions/extension_install_prompt.cc | |
parent | 4761cf18ebe31f8b60af22cf1f001df4a9baeccf (diff) | |
download | chromium_src-668ed2c8747b70dcc91df87523c205c29aa1108b.zip chromium_src-668ed2c8747b70dcc91df87523c205c29aa1108b.tar.gz chromium_src-668ed2c8747b70dcc91df87523c205c29aa1108b.tar.bz2 |
fix extension bundle install crash
BUG=146349
Review URL: https://chromiumcodereview.appspot.com/10919209
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156275 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 | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc index 586755a..2e5c324 100644 --- a/chrome/browser/extensions/extension_install_prompt.cc +++ b/chrome/browser/extensions/extension_install_prompt.cc @@ -444,12 +444,18 @@ void ExtensionInstallPrompt::LoadImageIfNeeded() { } void ExtensionInstallPrompt::FetchOAuthIssueAdviceIfNeeded() { - const Extension::OAuth2Info& oauth2_info = extension_->oauth2_info(); - if (prompt_.GetOAuthIssueCount() != 0U || - oauth2_info.client_id.empty() || - oauth2_info.scopes.empty() || + // |extension_| may be NULL, e.g. in the bundle install case. + if (!extension_ || prompt_type_ == BUNDLE_INSTALL_PROMPT || - prompt_type_ == INLINE_INSTALL_PROMPT) { + prompt_type_ == INLINE_INSTALL_PROMPT || + prompt_.GetOAuthIssueCount() != 0U) { + ShowConfirmation(); + return; + } + + const Extension::OAuth2Info& oauth2_info = extension_->oauth2_info(); + if (oauth2_info.client_id.empty() || + oauth2_info.scopes.empty()) { ShowConfirmation(); return; } |