[w3c/ServiceWorker] navigate() behavior in browsers for file:/// and mixed content does not match spec (#1500)

I was looking at the `service-workers/service-worker/client-navigate.https.html` test, and in particular the "Navigating to mixed-content iframe should reject with TypeError" subtest, and I don't think that test matches the spec.  Mixed-content lods lead to a network error on the HTML/fetch level, and I don't see anything in the serviceworker spec that says to reject with `TypeError` when that happens.  Am I just missing it?

Similar for the "invalid url (file:///)" test in `service-workers/service-worker/windowclient-navigate.https.html`: that's perfectly valid URL per the URL spec, gets blocked by some sort of browser-internal policy and should not lead to `TypeError`as far as I can tell.

These tests pass in Firefox because in Firefox the navigation algorithm actually throws in these two cases (which is not HTML-spec-compliant) and the service worker spec says to convert exceptions from "navigate" into `TypeError`.  I have no idea why these tests pass in Chrome, which does _not_ throw from the `location.href` setter (which synchronously calls the navigation algorithm) in these two cases.

Anyway, either the spec needs to change here or the browsers and tests.

@wanderview @asutherland 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/ServiceWorker/issues/1500

Received on Tuesday, 28 January 2020 10:41:00 UTC