Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/login/login_prompt.h" | 5 #include "chrome/browser/ui/login/login_prompt.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 503 WebContents* parent_contents = handler->GetWebContentsForLogin(); | 503 WebContents* parent_contents = handler->GetWebContentsForLogin(); |
| 504 if (!parent_contents || handler->WasAuthHandled()) { | 504 if (!parent_contents || handler->WasAuthHandled()) { |
| 505 // The request may have been cancelled, or it may be for a renderer | 505 // The request may have been cancelled, or it may be for a renderer |
| 506 // not hosted by a tab (e.g. an extension). Cancel just in case | 506 // not hosted by a tab (e.g. an extension). Cancel just in case |
| 507 // (cancelling twice is a no-op). | 507 // (cancelling twice is a no-op). |
| 508 handler->CancelAuth(); | 508 handler->CancelAuth(); |
| 509 return; | 509 return; |
| 510 } | 510 } |
| 511 | 511 |
| 512 if (is_main_frame && | 512 if (is_main_frame && |
| 513 parent_contents->GetVisibleURL().GetOrigin() != request_url.GetOrigin()) { | 513 (parent_contents->GetVisibleURL().GetOrigin() != |
| 514 request_url.GetOrigin() || | |
| 515 parent_contents->GetLastCommittedURL().GetOrigin() != | |
| 516 request_url.GetOrigin())) { | |
|
Peter Kasting
2014/08/05 20:18:10
It seems a bit weird that we check both of these.
meacer
2014/08/05 22:29:19
The two different cases are:
1- The user navigate
Peter Kasting
2014/08/05 23:15:34
I would probably change to just checking against G
meacer
2014/08/05 23:32:23
Done.
| |
| 514 // Show a blank interstitial for main-frame, cross origin requests | 517 // Show a blank interstitial for main-frame, cross origin requests |
| 515 // so that the correct URL is shown in the omnibox. | 518 // so that the correct URL is shown in the omnibox. |
| 516 base::Closure callback = base::Bind(&ShowLoginPrompt, | 519 base::Closure callback = base::Bind(&ShowLoginPrompt, |
| 517 request_url, | 520 request_url, |
| 518 make_scoped_refptr(auth_info), | 521 make_scoped_refptr(auth_info), |
| 519 make_scoped_refptr(handler)); | 522 make_scoped_refptr(handler)); |
| 520 // This is owned by the interstitial it creates. | 523 // This is owned by the interstitial it creates. |
| 521 new LoginInterstitialDelegate(parent_contents, | 524 new LoginInterstitialDelegate(parent_contents, |
| 522 request_url, | 525 request_url, |
| 523 callback); | 526 callback); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 535 net::URLRequest* request) { | 538 net::URLRequest* request) { |
| 536 bool is_main_frame = (request->load_flags() & net::LOAD_MAIN_FRAME) != 0; | 539 bool is_main_frame = (request->load_flags() & net::LOAD_MAIN_FRAME) != 0; |
| 537 LoginHandler* handler = LoginHandler::Create(auth_info, request); | 540 LoginHandler* handler = LoginHandler::Create(auth_info, request); |
| 538 BrowserThread::PostTask( | 541 BrowserThread::PostTask( |
| 539 BrowserThread::UI, FROM_HERE, | 542 BrowserThread::UI, FROM_HERE, |
| 540 base::Bind(&LoginDialogCallback, request->url(), | 543 base::Bind(&LoginDialogCallback, request->url(), |
| 541 make_scoped_refptr(auth_info), make_scoped_refptr(handler), | 544 make_scoped_refptr(auth_info), make_scoped_refptr(handler), |
| 542 is_main_frame)); | 545 is_main_frame)); |
| 543 return handler; | 546 return handler; |
| 544 } | 547 } |
| OLD | NEW |