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(); |
} |