| Index: chrome/browser/ui/login/login_handler.cc
|
| diff --git a/chrome/browser/ui/login/login_handler.cc b/chrome/browser/ui/login/login_handler.cc
|
| index 6aa12a65de3ad977bb906ff1cd525960b5ede079..86565bca97f4488fb6986afa54c145c1cd645c57 100644
|
| --- a/chrome/browser/ui/login/login_handler.cc
|
| +++ b/chrome/browser/ui/login/login_handler.cc
|
| @@ -31,6 +31,7 @@
|
| #include "content/public/browser/resource_dispatcher_host.h"
|
| #include "content/public/browser/resource_request_info.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "content/public/browser/web_contents_delegate.h"
|
| #include "content/public/common/origin_util.h"
|
| #include "extensions/features/features.h"
|
| #include "net/base/auth.h"
|
| @@ -596,6 +597,7 @@ void LoginHandler::LoginDialogCallback(const GURL& request_url,
|
| // (a) if the request is cross origin or
|
| // (b) if an interstitial is already being shown or
|
| // (c) the prompt is for proxy authentication
|
| + // (d) we're not displaying a standalone app
|
| //
|
| // For (a), there are two different ways the navigation can occur:
|
| // 1- The user enters the resource URL in the omnibox.
|
| @@ -622,7 +624,9 @@ void LoginHandler::LoginDialogCallback(const GURL& request_url,
|
| request_url.GetOrigin();
|
| if (is_main_frame &&
|
| (is_cross_origin_request || parent_contents->ShowingInterstitialPage() ||
|
| - auth_info->is_proxy)) {
|
| + auth_info->is_proxy) &&
|
| + parent_contents->GetDelegate()->GetDisplayMode(parent_contents) !=
|
| + blink::WebDisplayModeStandalone) {
|
| RecordHttpAuthPromptType(AUTH_PROMPT_TYPE_WITH_INTERSTITIAL);
|
|
|
| // Show a blank interstitial for main-frame, cross origin requests
|
|
|