Commit 45ef66be authored by Hiroki Nakagawa's avatar Hiroki Nakagawa Committed by Commit Bot

Worker: Add [Replaceable] to SharedWorkerGlobalScope.name

The HTML spec requires SharedWorkerGlobalScope.name has [Replaceable]:
https://html.spec.whatwg.org/multipage/workers.html#shared-workers-and-the-sharedworkerglobalscope-interface

This CL also fixes a test expectation of
wpt/workers/interfaces/SharedWorkerGlobalScope/name/setting.html. The name
attribute is now replaceable, so the result should be replaced. Firefox fails
the test because of this wrong expectation:
https://wpt.fyi/results/workers/interfaces/SharedWorkerGlobalScope/name/setting.html?label=stable&aligned&q=%2Fname%2Fsetting.html

Bug: 875714
Change-Id: Id04ae30895a2de4a07e30f49dc1189bb9742f6b9
Reviewed-on: https://chromium-review.googlesource.com/c/1347962Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610383}
parent 6db9ceb0
...@@ -14,7 +14,7 @@ addEventListener('connect', function(e) { ...@@ -14,7 +14,7 @@ addEventListener('connect', function(e) {
async_test(function() { async_test(function() {
var w1 = new SharedWorker('#1', 'x'); var w1 = new SharedWorker('#1', 'x');
w1.port.addEventListener('message', this.step_func(function(e) { w1.port.addEventListener('message', this.step_func(function(e) {
assert_equals(e.data, 'x'); assert_equals(e.data, 1);
this.done(); this.done();
}), false); }), false);
w1.port.start(); w1.port.start();
......
...@@ -3,7 +3,7 @@ PASS name property value for DedicatedWorkerGlobalScope ...@@ -3,7 +3,7 @@ PASS name property value for DedicatedWorkerGlobalScope
PASS name property is replaceable for DedicatedWorkerGlobalScope PASS name property is replaceable for DedicatedWorkerGlobalScope
PASS Declaring name as an accidental global must not cause a harness error for DedicatedWorkerGlobalScope PASS Declaring name as an accidental global must not cause a harness error for DedicatedWorkerGlobalScope
FAIL name property value for SharedWorkerGlobalScope assert_equals: expected "my name" but got "[object Object]" FAIL name property value for SharedWorkerGlobalScope assert_equals: expected "my name" but got "[object Object]"
FAIL name property is replaceable for SharedWorkerGlobalScope Cannot assign to read only property 'name' of object '#<SharedWorkerGlobalScope>' PASS name property is replaceable for SharedWorkerGlobalScope
FAIL name-as-accidental-global Uncaught TypeError: Cannot assign to read only property 'name' of object '#<SharedWorkerGlobalScope>' PASS Declaring name as an accidental global must not cause a harness error for SharedWorkerGlobalScope
Harness: the test ran to completion. Harness: the test ran to completion.
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
importScripts("/resources/testharness.js"); importScripts("/resources/testharness.js");
test(() => { test(() => {
assert_true(self.hasOwnProperty("name"), "property exists on the global") assert_true(self.hasOwnProperty("name"), "property exists on the global");
assert_equals(self.name, "my name") assert_equals(self.name, "my name");
}, `name property value for ${self.constructor.name}`); }, `name property value for ${self.constructor.name}`);
test(() => { test(() => {
......
...@@ -2491,6 +2491,7 @@ Starting worker: resources/global-interface-listing-worker.js ...@@ -2491,6 +2491,7 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method webkitRequestFileSystemSync [Worker] method webkitRequestFileSystemSync
[Worker] method webkitResolveLocalFileSystemSyncURL [Worker] method webkitResolveLocalFileSystemSyncURL
[Worker] method webkitResolveLocalFileSystemURL [Worker] method webkitResolveLocalFileSystemURL
[Worker] setter name
[Worker] setter onconnect [Worker] setter onconnect
PASS successfullyParsed is true PASS successfullyParsed is true
......
...@@ -3461,6 +3461,7 @@ Starting worker: resources/global-interface-listing-worker.js ...@@ -3461,6 +3461,7 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method webkitRequestFileSystemSync [Worker] method webkitRequestFileSystemSync
[Worker] method webkitResolveLocalFileSystemSyncURL [Worker] method webkitResolveLocalFileSystemSyncURL
[Worker] method webkitResolveLocalFileSystemURL [Worker] method webkitResolveLocalFileSystemURL
[Worker] setter name
[Worker] setter onconnect [Worker] setter onconnect
PASS successfullyParsed is true PASS successfullyParsed is true
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
Global=(Worker,SharedWorker), Global=(Worker,SharedWorker),
Exposed=SharedWorker Exposed=SharedWorker
] interface SharedWorkerGlobalScope : WorkerGlobalScope { ] interface SharedWorkerGlobalScope : WorkerGlobalScope {
readonly attribute DOMString name; [Replaceable] readonly attribute DOMString name;
// TODO(foolip): readonly attribute ApplicationCache applicationCache; // TODO(foolip): readonly attribute ApplicationCache applicationCache;
void close(); void close();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment