| Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/register-foreign-fetch-errors-worker.js
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/register-foreign-fetch-errors-worker.js b/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/register-foreign-fetch-errors-worker.js
|
| index fcbb266fef4247d6438a04dd205c87e3503b285f..54994dcbed043b6d6a2f374e578f73f7ad54faac 100644
|
| --- a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/register-foreign-fetch-errors-worker.js
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/register-foreign-fetch-errors-worker.js
|
| @@ -4,19 +4,19 @@ self.addEventListener('install', function(event) {
|
|
|
| test(function() {
|
| assert_throws(new TypeError(), function() {
|
| - event.registerForeignFetchScopes(scope);
|
| + event.registerForeignFetchScopes(scope, '*');
|
| });
|
| - }, 'Not an array');
|
| + }, 'Scopes not an array');
|
|
|
| test(function() {
|
| assert_throws(new TypeError(), function() {
|
| - event.registerForeignFetchScopes([{}]);
|
| + event.registerForeignFetchScopes([{}], '*');
|
| });
|
| - }, 'Not a string in array');
|
| + }, 'Scopes not a string in array');
|
|
|
| test(function() {
|
| assert_throws(new TypeError(), function() {
|
| - event.registerForeignFetchScopes(['/foo']);
|
| + event.registerForeignFetchScopes(['/foo'], '*');
|
| });
|
| }, 'Relative url not under scope');
|
|
|
| @@ -24,25 +24,25 @@ self.addEventListener('install', function(event) {
|
| var url = new URL(scope_url);
|
| url.host = 'example.com';
|
| assert_throws(new TypeError(), function() {
|
| - event.registerForeignFetchScopes([url.href]);
|
| + event.registerForeignFetchScopes([url.href], '*');
|
| });
|
| }, 'Absolute url not under scope');
|
|
|
| async_test(function(t) {
|
| self.setTimeout(t.step_func(function() {
|
| assert_throws('InvalidStateError', function() {
|
| - event.registerForeignFetchScopes([scope]);
|
| + event.registerForeignFetchScopes([scope], '*');
|
| });
|
| t.done();
|
| }), 1);
|
| }, 'Call after event returned');
|
|
|
| test(function() {
|
| - event.registerForeignFetchScopes([]);
|
| - }, 'Empty array');
|
| + event.registerForeignFetchScopes([], '*');
|
| + }, 'Empty array with wildcard origin string');
|
|
|
| test(function() {
|
| - event.registerForeignFetchScopes([scope, scope + '/foo']);
|
| + event.registerForeignFetchScopes([scope, scope + '/foo'], '*');
|
| }, 'Absolute urls');
|
|
|
| test(function() {
|
| @@ -56,8 +56,63 @@ self.addEventListener('install', function(event) {
|
| scope_url.pathname,
|
| relative_scope,
|
| './' + relative_scope,
|
| - relative_scope + '/foo']);
|
| + relative_scope + '/foo'], '*');
|
| }, 'Relative urls');
|
| +
|
| + test(function() {
|
| + assert_throws(new TypeError(), function() {
|
| + event.registerForeignFetchScopes([scope]);
|
| + });
|
| + }, 'No origins specified');
|
| +
|
| + test(function() {
|
| + assert_throws(new TypeError(), function() {
|
| + event.registerForeignFetchScopes([scope], {});
|
| + });
|
| + }, 'Origins not a string or array');
|
| +
|
| + test(function() {
|
| + assert_throws(new TypeError(), function() {
|
| + event.registerForeignFetchScopes([scope], [{}]);
|
| + });
|
| + }, 'Origins contains something not a string');
|
| +
|
| + test(function() {
|
| + assert_throws(new TypeError(), function() {
|
| + event.registerForeignFetchScopes([scope], '/foo');
|
| + });
|
| + }, 'Origin not an absolute URL');
|
| +
|
| + test(function() {
|
| + event.registerForeignFetchScopes([scope], ['*']);
|
| + }, 'Wildcard origin string in array');
|
| +
|
| + test(function() {
|
| + event.registerForeignFetchScopes([scope], 'https://example.com/');
|
| + }, 'Origin string');
|
| +
|
| + test(function() {
|
| + event.registerForeignFetchScopes([scope], ['https://example.com/']);
|
| + }, 'Origin string in array');
|
| +
|
| + test(function() {
|
| + event.registerForeignFetchScopes(
|
| + [scope], ['https://example.com/', 'https://chromium.org']);
|
| + }, 'Array with multiple origins');
|
| +
|
| + test(function() {
|
| + assert_throws(new TypeError(), function() {
|
| + event.registerForeignFetchScopes([scope],
|
| + ['*', 'https://example.com/']);
|
| + });
|
| + }, 'Origins includes wildcard and other strings');
|
| +
|
| + test(function() {
|
| + assert_throws(new TypeError(), function() {
|
| + event.registerForeignFetchScopes([scope],
|
| + ['https://example.com/', '*']);
|
| + });
|
| + }, 'Origins includes other strings and wildcard');
|
| });
|
|
|
| // Import testharness after install handler to make sure our install handler
|
|
|