This commit does several things:
1. Change to https so the test does not fail due to security exceptions.
2. Change function service_worker_unregister to get around the "getRegistration() matches most specific registration" issue by matching exact scope.
3. Uses the URL object for the "absolute" test instead of relying on server substitution since it achieves the same thing.
4. Allows fragments in the scriptURL since I cannot find anything in the spec preventing this. I have filed https://github.com/slightlyoff/ServiceWorker/issues/742 to resolve this.
Update web-platform-tests expected data
According to the JSON RFC [1] the official mime type is "application/json". If
we do not send this, Gecko will not fire the onload event for a frame trying to
load such a URL but will instead load an error page.
Several service worker tests rely on loading 'fake' iframes that 404 but
contribute to the progress of the test by watching for the onload event.
These tests are fixed by this patch.
[1]: http://www.ietf.org/rfc/rfc4627.txt
Standard scope comparison stuff for the most part. Added <body> tag so
document.body.appendChild() in with_iframe() works. I had to add a simple 404
script because <iframe> apparently only fires the onload event if the
content-type was text/plain or text/html but our test harness delivers JSON by
default leading to timeouts.
Update web-platform-tests expected data
Added update-test.py which is a conversion of Blink update-test.php to deliver workers with different mime types.
Updated test file to latest version to check for SecurityError.
Dealt with the usual waiting/active issue.
Update web-platform-tests expected data
This commit implements the following changes to get registration.https.html working.
1) Fail with NS_ERROR_DOM_SECURITY_ERR where the spec requires it.
2) Propagate JSExnType to ServiceWorkerManager::HandleError() so that a JS
exception object with the correct .name can be created.
3) Fail with security error on redirect failure.
4) Check fetched script's mimetype.
5) Add missing python server files for web-platform-tests.
6) Update web-platform-tests expected data.
7) Several tests have been changed to use TypeError or more appropriate JS
errors based on my reading of the spec.
waitUntil() has been updated to accept multiple calls and concatenate them into Promise.all().
activation does not fail any more even if the promise(s) passed to waitUntil() reject.
Update web-platform-tests expected data
waitUntil() has been updated to accept multiple calls and concatenate them into Promise.all().
activation does not fail any more even if the promise(s) passed to waitUntil() reject.
Update web-platform-tests expected data