diff options
author | guohui <guohui@chromium.org> | 2014-11-18 20:05:00 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-19 04:06:01 +0000 |
commit | bcd91eea50f29e4d8ff5dcebec667d131e20a47f (patch) | |
tree | dbcb63581d379a3b24432e5b4dc1d96e89dd73b5 | |
parent | 7a62c7e77d5bf6349ad4ebc0b67753ab552c8e0d (diff) | |
download | chromium_src-bcd91eea50f29e4d8ff5dcebec667d131e20a47f.zip chromium_src-bcd91eea50f29e4d8ff5dcebec667d131e20a47f.tar.gz chromium_src-bcd91eea50f29e4d8ff5dcebec667d131e20a47f.tar.bz2 |
Clear signin partition upon closing all signin window
BUG=
Review URL: https://codereview.chromium.org/728523003
Cr-Commit-Position: refs/heads/master@{#304760}
4 files changed, 13 insertions, 5 deletions
diff --git a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc index 6f14e6e..4766862 100644 --- a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc +++ b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc @@ -10,6 +10,7 @@ #include "base/logging.h" #include "chrome/browser/extensions/component_loader.h" #include "chrome/browser/extensions/extension_service.h" +#include "chrome/browser/signin/signin_promo.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/url_constants.h" @@ -65,7 +66,7 @@ void UnloadGaiaAuthExtension(BrowserContext* context) { content::StoragePartition* partition = content::BrowserContext::GetStoragePartitionForSite( - context, GURL(chrome::kChromeUIChromeSigninURL)); + context, signin::GetSigninPartitionURL()); if (partition) { partition->ClearData( content::StoragePartition::REMOVE_DATA_MASK_ALL, diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc index 0f8d4fb..3604811 100644 --- a/chrome/browser/signin/signin_promo.cc +++ b/chrome/browser/signin/signin_promo.cc @@ -254,6 +254,12 @@ GURL GetNextPageURLForPromoURL(const GURL& url) { return GURL(); } +GURL GetSigninPartitionURL() { + return GURL(switches::IsEnableWebviewBasedSignin() ? + "chrome-guest://chrome-signin/?" : + chrome::kChromeUIChromeSigninURL); +} + Source GetSourceForPromoURL(const GURL& url) { std::string value; if (net::GetValueForKeyInQuery(url, kSignInPromoQueryKeySource, &value)) { diff --git a/chrome/browser/signin/signin_promo.h b/chrome/browser/signin/signin_promo.h index 120661a..0f8937f 100644 --- a/chrome/browser/signin/signin_promo.h +++ b/chrome/browser/signin/signin_promo.h @@ -94,6 +94,9 @@ GURL GetReauthURL(Profile* profile, const std::string& account_id); // Gets the next page URL from the query portion of the sign in promo URL. GURL GetNextPageURLForPromoURL(const GURL& url); +// Gets the partition URL for the embedded sign in frame/webview. +GURL GetSigninPartitionURL(); + // Gets the source from the query portion of the sign in promo URL. // The source identifies from where the sign in promo was opened. Source GetSourceForPromoURL(const GURL& url); diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc index a7deef7d..23ba7a1 100644 --- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc +++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc @@ -18,6 +18,7 @@ #include "chrome/browser/signin/local_auth.h" #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" #include "chrome/browser/signin/signin_manager_factory.h" +#include "chrome/browser/signin/signin_promo.h" #include "chrome/browser/sync/profile_sync_service.h" #include "chrome/browser/sync/profile_sync_service_factory.h" #include "chrome/browser/ui/browser_finder.h" @@ -373,12 +374,9 @@ void InlineLoginHandlerImpl::CompleteLogin(const base::ListValue* args) { about_signin_internals->OnAuthenticationResultReceived( "GAIA Auth Successful"); - GURL partition_url(switches::IsEnableWebviewBasedSignin() ? - "chrome-guest://chrome-signin/?" : - chrome::kChromeUIChromeSigninURL); content::StoragePartition* partition = content::BrowserContext::GetStoragePartitionForSite( - contents->GetBrowserContext(), partition_url); + contents->GetBrowserContext(), signin::GetSigninPartitionURL()); SigninClient* signin_client = ChromeSigninClientFactory::GetForProfile(Profile::FromWebUI(web_ui())); |