| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 importScripts('worker-testharness.js'); | 
|  | 2 importScripts('/resources/testharness-helpers.js'); | 
|  | 3 | 
|  | 4 var active = new Promise(function(resolve, reject) { | 
|  | 5   self.addEventListener('activate', function() { | 
|  | 6     resolve(); | 
|  | 7   }); | 
|  | 8 }); | 
|  | 9 | 
|  | 10 promise_test(function(t) { | 
|  | 11   self.clients.openWindow('http://example.com/') | 
|  | 12     .then( | 
|  | 13       t.unreached_func('openWindow() should not fulfill for off-origin URL'), | 
|  | 14       function(reason) { | 
|  | 15         assert_equals(reason.name, 'SecurityError', | 
|  | 16                       'openWindow() should reject off-origin URL'); | 
|  | 17       }); | 
|  | 18 }, 'ServiceWorkerClients.openWindow with off-origin URL'); | 
|  | 19 | 
|  | 20 promise_test(function(t) { | 
|  | 21   self.clients.openWindow('http://[') | 
|  | 22     .then( | 
|  | 23       t.unreached_func('openWindow() should not fulfill for invalid URL'), | 
|  | 24       function(reason) { | 
|  | 25         assert_equals(reason.name, 'SyntaxError', | 
|  | 26                       'openWindow() should reject invalid URL'); | 
|  | 27       }); | 
|  | 28 }, 'ServiceWorkerClients.openWindow with invalid URL'); | 
|  | 29 | 
|  | 30 promise_test(function(t) { | 
|  | 31     return active | 
|  | 32       .then(function() { | 
|  | 33         // FIXME: Should this reject? | 
|  | 34         return self.clients.openWindow('/out-of-scope'); | 
|  | 35       }) | 
|  | 36       .then( | 
|  | 37         t.unreached_func('openWindow() should not resolve if open fails'), | 
|  | 38         function(reason) { | 
|  | 39           // FIXME: Update when specified. | 
|  | 40           assert_equals(reason.name, 'SecurityError', | 
|  | 41                         'Failed open should resolve with SecurityError'); | 
|  | 42         }); | 
|  | 43 }, 'ServiceWorkerClients.openWindow() with failed open'); | 
|  | 44 | 
|  | 45 promise_test(function(t) { | 
|  | 46     var client_url = 'simple.html'; | 
|  | 47     return active | 
|  | 48       .then(function() { | 
|  | 49           return self.clients.openWindow('simple.html'); | 
|  | 50       }) | 
|  | 51       .then(function(client) { | 
|  | 52           assert_equals(client.url, String(new URL(client_url, self.location)), | 
|  | 53                         'client.url should match URL passed to openWindow()'); | 
|  | 54           assert_equals(client.frameType, 'top-level', | 
|  | 55                         'client.frameType should be top-level'); | 
|  | 56       }); | 
|  | 57 }, 'ServiceWorkerClients.openWindow() with successful open'); | 
| OLD | NEW | 
|---|