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) {
async_test(function() {
var w1 = new SharedWorker('#1', 'x');
w1.port.addEventListener('message', this.step_func(function(e) {
assert_equals(e.data, 'x');
assert_equals(e.data, 1);
this.done();
}), false);
w1.port.start();
......
......@@ -3,7 +3,7 @@ PASS name property value for DedicatedWorkerGlobalScope
PASS name property is replaceable 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 is replaceable for SharedWorkerGlobalScope Cannot assign to read only property 'name' of object '#<SharedWorkerGlobalScope>'
FAIL name-as-accidental-global Uncaught TypeError: Cannot assign to read only property 'name' of object '#<SharedWorkerGlobalScope>'
PASS name property is replaceable for SharedWorkerGlobalScope
PASS Declaring name as an accidental global must not cause a harness error for SharedWorkerGlobalScope
Harness: the test ran to completion.
......@@ -2,8 +2,8 @@
importScripts("/resources/testharness.js");
test(() => {
assert_true(self.hasOwnProperty("name"), "property exists on the global")
assert_equals(self.name, "my name")
assert_true(self.hasOwnProperty("name"), "property exists on the global");
assert_equals(self.name, "my name");
}, `name property value for ${self.constructor.name}`);
test(() => {
......
......@@ -2491,6 +2491,7 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method webkitRequestFileSystemSync
[Worker] method webkitResolveLocalFileSystemSyncURL
[Worker] method webkitResolveLocalFileSystemURL
[Worker] setter name
[Worker] setter onconnect
PASS successfullyParsed is true
......
......@@ -3461,6 +3461,7 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method webkitRequestFileSystemSync
[Worker] method webkitResolveLocalFileSystemSyncURL
[Worker] method webkitResolveLocalFileSystemURL
[Worker] setter name
[Worker] setter onconnect
PASS successfullyParsed is true
......
......@@ -34,7 +34,7 @@
Global=(Worker,SharedWorker),
Exposed=SharedWorker
] interface SharedWorkerGlobalScope : WorkerGlobalScope {
readonly attribute DOMString name;
[Replaceable] readonly attribute DOMString name;
// TODO(foolip): readonly attribute ApplicationCache applicationCache;
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