| Index: chrome/browser/ssl/ssl_error_handler.cc
|
| diff --git a/chrome/browser/ssl/ssl_error_handler.cc b/chrome/browser/ssl/ssl_error_handler.cc
|
| index 708162fe3fbeab9c176f8c8b962a897678c23f6a..041f8f6cbab8bda571c2703097fa2da00da9446c 100644
|
| --- a/chrome/browser/ssl/ssl_error_handler.cc
|
| +++ b/chrome/browser/ssl/ssl_error_handler.cc
|
| @@ -178,13 +178,13 @@ void SSLErrorHandler::CheckForCaptivePortal() {
|
| #endif
|
| }
|
|
|
| -void SSLErrorHandler::ShowCaptivePortalInterstitial() {
|
| +void SSLErrorHandler::ShowCaptivePortalInterstitial(const GURL& landing_url) {
|
| #if defined(ENABLE_CAPTIVE_PORTAL_DETECTION)
|
| // Show captive portal blocking page. The interstitial owns the blocking page.
|
| RecordUMA(SSLBlockingPage::IsOptionsOverridable(options_mask_) ?
|
| SHOW_CAPTIVE_PORTAL_INTERSTITIAL_OVERRIDABLE :
|
| SHOW_CAPTIVE_PORTAL_INTERSTITIAL_NONOVERRIDABLE);
|
| - (new CaptivePortalBlockingPage(web_contents_, request_url_,
|
| + (new CaptivePortalBlockingPage(web_contents_, request_url_, landing_url,
|
| callback_))->Show();
|
| // Once an interstitial is displayed, no need to keep the handler around.
|
| // This is the equivalent of "delete this".
|
| @@ -216,7 +216,7 @@ void SSLErrorHandler::Observe(
|
| CaptivePortalService::Results* results =
|
| content::Details<CaptivePortalService::Results>(details).ptr();
|
| if (results->result == captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL)
|
| - ShowCaptivePortalInterstitial();
|
| + ShowCaptivePortalInterstitial(results->landing_url);
|
| else
|
| ShowSSLInterstitial();
|
| }
|
|
|