summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguohui <guohui@chromium.org>2014-11-18 20:05:00 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-19 04:06:01 +0000
commitbcd91eea50f29e4d8ff5dcebec667d131e20a47f (patch)
treedbcb63581d379a3b24432e5b4dc1d96e89dd73b5
parent7a62c7e77d5bf6349ad4ebc0b67753ab552c8e0d (diff)
downloadchromium_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}
-rw-r--r--chrome/browser/extensions/signin/gaia_auth_extension_loader.cc3
-rw-r--r--chrome/browser/signin/signin_promo.cc6
-rw-r--r--chrome/browser/signin/signin_promo.h3
-rw-r--r--chrome/browser/ui/webui/signin/inline_login_handler_impl.cc6
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()));