| Index: chrome/browser/chrome_content_browser_client.cc
|
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
| index f3d767f5790f955d8df52b54a1ce038bf0a7c366..5404e8c7097087f45105db3fcf828418bea43640 100644
|
| --- a/chrome/browser/chrome_content_browser_client.cc
|
| +++ b/chrome/browser/chrome_content_browser_client.cc
|
| @@ -795,9 +795,10 @@ std::string ChromeContentBrowserClient::GetStoragePartitionIdForSite(
|
| // SiteInstance URL - "chrome-guest://app_id/persist?partition".
|
| if (site.SchemeIs(content::kGuestScheme)) {
|
| partition_id = site.spec();
|
| - } else if (site.GetOrigin().spec() == kChromeUIChromeSigninURL) {
|
| - // Chrome signin page has an embedded iframe of extension and web content,
|
| - // thus it must be isolated from other webUI pages.
|
| + } else if (!switches::IsEnableWebviewBasedSignin() &&
|
| + site.GetOrigin().spec() == kChromeUIChromeSigninURL) {
|
| + // The non-webview Chrome signin page has an embedded iframe of extension
|
| + // and web content, thus it must be isolated from other webUI pages.
|
| partition_id = site.GetOrigin().spec();
|
| }
|
|
|
| @@ -859,9 +860,10 @@ void ChromeContentBrowserClient::GetStoragePartitionConfigForSite(
|
| }
|
| #endif
|
|
|
| - if (!success && (site.GetOrigin().spec() == kChromeUIChromeSigninURL)) {
|
| - // Chrome signin page has an embedded iframe of extension and web content,
|
| - // thus it must be isolated from other webUI pages.
|
| + if (!success && (!switches::IsEnableWebviewBasedSignin() &&
|
| + site.GetOrigin().spec() == kChromeUIChromeSigninURL)) {
|
| + // The non-webview Chrome signin page has an embedded iframe of extension
|
| + // and web content, thus it must be isolated from other webUI pages.
|
| *partition_domain = chrome::kChromeUIChromeSigninHost;
|
| }
|
|
|
|
|