New issue
Advanced search Search tips

Issue 642993 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug
Team-Security-UX

Blocking:
issue 335933



Sign in to add a comment

Enable captive portal interstitial on Android

Project Member Reported by mea...@chromium.org, Sep 1 2016

Issue description

It's only available for desktop. 
 
Blocking: 335933
Labels: Interstitials
Components: -Security>UX UI>Browser>Interstitials
Labels: -Interstitials

Comment 5 by mea...@chromium.org, Jul 26 2017

Owner: mea...@chromium.org
Status: Started (was: Available)
Currently working on Android version of this.
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12b5effe518ea78f16e31ebaff3610d25df2c756

commit 12b5effe518ea78f16e31ebaff3610d25df2c756
Author: Mustafa Emre Acer <meacer@chromium.org>
Date: Tue Sep 26 19:26:35 2017

Enable captive portal interstitial on Android

Captive portal interstitial is currently only compiled if
ENABLE_CAPTIVE_PORTAL_DETECTION is present. This flag enables Chrome's
own captive portal detection and is off on Android. However, we still
want to be able to display a captive portal interstitial on Android, by
way of checking the certificates served by portals.

For that reason, this CL enables the captive portal interstitial on Android
and uses the CaptivePortalCertificateList feature to detect captive portal
related certificates. It also adds a Java test for the new interstitial.

Bug:  642993 
Change-Id: I6be15ce10a5039fb1b1d8da0e7ef2f2c27dc48b4
Reviewed-on: https://chromium-review.googlesource.com/661795
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: Matt Mueller <mattm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504457}
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
[add] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/android/java/src/org/chromium/chrome/browser/ssl/CaptivePortalHelper.java
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/android/java_sources.gni
[add] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/android/javatests/src/org/chromium/chrome/browser/ssl/CaptivePortalTest.java
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/BUILD.gn
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/ssl/captive_portal_blocking_page.cc
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/ssl/captive_portal_blocking_page.h
[add] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/ssl/captive_portal_helper_android.cc
[add] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/ssl/captive_portal_helper_android.h
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/ssl/ssl_error_handler.cc
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/browser/ssl/ssl_error_handler_unittest.cc
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/TabTitleObserver.java
[modify] https://crrev.com/12b5effe518ea78f16e31ebaff3610d25df2c756/net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5

commit d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5
Author: Mustafa Emre Acer <meacer@chromium.org>
Date: Fri Sep 29 00:06:55 2017

Use OS API to trigger a captive portal interstitial on Android

net::android::GetIsCaptivePortal API returns the captive portal status
on Android. Use this API to determine whether to show a captive portal
interstitial in addition to the captive portal certificate list.

Bug:  642993 
Change-Id: I8cdeaed47ea7e198a7589a3573f96b2093cd4fad
Reviewed-on: https://chromium-review.googlesource.com/664342
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505220}
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/android/java/src/org/chromium/chrome/browser/ssl/CaptivePortalHelper.java
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/android/javatests/src/org/chromium/chrome/browser/ssl/CaptivePortalTest.java
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/browser/ssl/captive_portal_helper_android.cc
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/browser/ssl/ssl_browser_tests.cc
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/browser/ssl/ssl_error_handler.cc
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/browser/ssl/ssl_error_handler.h
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/chrome/browser/ssl/ssl_error_handler_unittest.cc
[modify] https://crrev.com/d5deb8ee7d273e0f316d81f2bb20d6c151c34cf5/tools/metrics/histograms/enums.xml

Comment 8 by mea...@chromium.org, Sep 29 2017

Status: Fixed (was: Started)

Comment 9 by mea...@chromium.org, Sep 29 2017

Labels: -OS-iOS
Removing iOS: The iOS interstitial is implemented in https://chromium-review.googlesource.com/c/chromium/src/+/591691
Summary: Enable captive portal interstitial on Android (was: Enable captive portal interstitial on mobile)
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/13767698da506b60ea9e437511bb904829a60a6b

commit 13767698da506b60ea9e437511bb904829a60a6b
Author: Mustafa Emre Acer <meacer@chromium.org>
Date: Wed Oct 04 21:11:06 2017

Fix captive portal interstitial tests on Android

SSLErrorHandler ignores updates to SSL Error Assistant proto if the
version_id of the new updated proto is not greater than the version_id
of the current proto. The test helper was using INT_MAX for version_id
of the updated proto. This meant that the proto was only being set once
and subsequent updates were ignored. Also, the value of
os_reports_captive_portal_for_testing_ wasn't reset properly in tests.

Bug:  642993 
Change-Id: I4b021e5973ae6d4e7d95e61d55d7b117e1c2824d
Reviewed-on: https://chromium-review.googlesource.com/699425
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506515}
[modify] https://crrev.com/13767698da506b60ea9e437511bb904829a60a6b/chrome/android/javatests/src/org/chromium/chrome/browser/ssl/CaptivePortalTest.java
[modify] https://crrev.com/13767698da506b60ea9e437511bb904829a60a6b/chrome/browser/ssl/ssl_error_handler.cc
[modify] https://crrev.com/13767698da506b60ea9e437511bb904829a60a6b/chrome/browser/ssl/ssl_error_handler.h

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5bfaf1e4248cf14da4c5f6a8d904875f47393232

commit 5bfaf1e4248cf14da4c5f6a8d904875f47393232
Author: Mustafa Emre Acer <meacer@chromium.org>
Date: Mon Oct 09 20:33:37 2017

Remove ENABLE_CAPTIVE_PORTAL_DETECTION check from SSL browser tests

Both CaptivePortalInterstitial and CaptivePortalCertificateList
features are now enabled on all (non-iOS) platforms independent of the
ENABLE_CAPTIVE_PORTAL_DETECTION flag. Clean up browser tests to reflect
this.

Bug:  642993 
Change-Id: If9ff72abcbba8c4f8bf3f8998892f11a8a0c1fc7
Reviewed-on: https://chromium-review.googlesource.com/706643
Reviewed-by: Eric Lawrence <elawrence@chromium.org>
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507471}
[modify] https://crrev.com/5bfaf1e4248cf14da4c5f6a8d904875f47393232/chrome/browser/ssl/ssl_browser_tests.cc

Sign in to add a comment