Support HTTPS in webbrowser-app autopilot test suite

Bug #1505995 reported by Olivier Tilloy
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
webbrowser-app (Ubuntu)
Triaged
High
Unassigned

Bug Description

The webbrowser-app autopilot test suite currently uses a test HTTP server. In the near future, it will need to gain support for HTTPS for some tests (e.g. those that embed getUserMedia() calls in HTML):

    [JS] (:0) getUserMedia() is deprecated on insecure origins, and support will be removed in the future. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

Revision history for this message
Olivier Tilloy (osomon) wrote :

This would be useful to automate the testing of the invalid/expired certificate pages too.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Bumped the importance to high as the following test is now failing with oxide 1.11 (to be released soon):

     webbrowser_app.tests.test_media_access_permission.TestMediaAccessPermission.test_deny

The message we’re getting from oxide is:

    [JS] (:0) getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

Changed in webbrowser-app (Ubuntu):
importance: Medium → High
Revision history for this message
Olivier Tilloy (osomon) wrote :

To add HTTPS capabilities to the autopilot test suite, we need a way to inject custom root certificates into oxide. Oxide has a test helper called oxideSetNSSDbPath(…) but it’s not a public API, so it can’t be used by webbrowser-app. There is also a patch in oxide that removes the ability to load a shared NSS database from $HOME/.pki/nssdb/, so we can’t point $HOME to a temporary directory and add custom certificates there.

According to https://bugs.launchpad.net/oxide/+bug/1260048/comments/10, chromium is going to move away from NSS at some point in the future anyway.

This bug is now blocked on oxide using a custom, application-specific place to store custom certificates.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I’ve submitted a branch that temporarily skips the one autopilot test that requires HTTPS starting with oxide 1.11 (about to be released).

Revision history for this message
Olivier Tilloy (osomon) wrote :

I’ve filed bug #1522513 to track the lack of a way to specify a custom certificates db for oxide.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Starting with oxide 1.14, geolocation API calls are blocked on insecure origins, so the following webbrowser-app autopilot tests will start failing:

webbrowser_app.tests.test_geolocation.TestGeolocation.test_geolocation_accept
webbrowser_app.tests.test_geolocation.TestGeolocation.test_geolocation_deny

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.