Closed Bug 1375457 Opened 3 years ago Closed 3 years ago

prettier.js website broken: TypeError: setting getter-only property "name"


(Core :: DOM: Workers, defect)

56 Branch
Not set



Tracking Status
firefox-esr52 --- unaffected
firefox54 --- unaffected
firefox55 + verified
firefox56 + verified


(Reporter: nachtigall, Assigned: baku)



(Keywords: regression, site-compat)


(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Build ID: 20170621102301

Steps to reproduce:

Go to

Actual results:

The results area at the right is empty. 

Opening the Console shows:          
        TypeError: setting getter-only property "name" index.js:1257:5

See screenshot.

Expected results:

It works in Firefox 54 and Chrome, but not in Firefox 55 and Firefox 56.

I did run mozregression and here's the Bisection information from it:

app_name: firefox
build_date: 2017-05-17 13:56:11.506000
build_file: C:\Users\jnachtigall\.mozilla\mozregression\persist\
build_type: inbound
changeset: 2fe44b09de7c427731190276a9d8f801602286cb
repo_name: mozilla-inbound
task_id: dBXLg7muSSeJB3bJ0fbJhg
Summary: prettier.js webiste broken: TypeError: setting getter-only property "name" → prettier.js website broken: TypeError: setting getter-only property "name"
FWIW, the line causing the TypeError is a simple: 

var name = "prettier";
Blocks: 1364297
Has Regression Range: --- → yes
Component: Untriaged → DOM: Workers
Product: Firefox → Core
This change was intentional, right? Then we probably need a site compatibility note.
Flags: needinfo?(amarchesini)
I spoke with Domenic.  We probably need to make this [replaceable] here and in the spec.
[Tracking Requested - why for this release]: A site compatibility issue that may affect certain sites using Web worker scripts.
Assignee: nobody → amarchesini
Flags: needinfo?(amarchesini)
Attached patch replaceble.patchSplinter Review
Attachment #8880734 - Flags: review?(bkelly)
Attachment #8880734 - Flags: review?(bkelly) → review+
Spec change, so maybe this needs developer documentation?
It's a regression that's going to be fixed with Firefox 55 Beta so no MDN or site compat note needed.
Keywords: dev-doc-needed
Pushed by
name should be a replaceable attribute in worker global scopes, r=bkelly
Backed out for failing /workers/interfaces/SharedWorkerGlobalScope/name/setting.html:

Push with failures:
Failure log:

[task 2017-06-27T19:27:44.923555Z] 19:27:44     INFO - TEST-START | /workers/interfaces/SharedWorkerGlobalScope/name/setting.html
[task 2017-06-27T19:27:45.061033Z] 19:27:45     INFO - PID 7116 | ++DOCSHELL 0x7f96a0d22000 == 7 [pid = 7116] [id = {d0ec1e2f-b75d-49c6-97bb-450718e5e139}]
[task 2017-06-27T19:27:45.061573Z] 19:27:45     INFO - PID 7116 | ++DOMWINDOW == 19 (0x7f96a0d22800) [pid = 7116] [serial = 19] [outer = (nil)]
[task 2017-06-27T19:27:45.078295Z] 19:27:45     INFO - PID 7116 | ++DOMWINDOW == 20 (0x7f96a0b04000) [pid = 7116] [serial = 20] [outer = 0x7f96a0d22800]
[task 2017-06-27T19:27:45.196390Z] 19:27:45     INFO - PID 7116 | ++DOMWINDOW == 21 (0x7f96a0b1d800) [pid = 7116] [serial = 21] [outer = 0x7f96a0d22800]
[task 2017-06-27T19:27:45.366082Z] 19:27:45     INFO - PID 7116 | [7116] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80070057: file /home/worker/workspace/build/src/netwerk/base/nsChannelClassifier.cpp, line 316
[task 2017-06-27T19:27:45.443519Z] 19:27:45     INFO - 
[task 2017-06-27T19:27:45.443636Z] 19:27:45     INFO - TEST-UNEXPECTED-FAIL | /workers/interfaces/SharedWorkerGlobalScope/name/setting.html | setting name - assert_equals: expected (string) "x" but got (number) 1
[task 2017-06-27T19:27:45.443823Z] 19:27:45     INFO - @http://web-platform.test:8000/workers/interfaces/SharedWorkerGlobalScope/name/setting.html:17:5
[task 2017-06-27T19:27:45.444128Z] 19:27:45     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1405:20
[task 2017-06-27T19:27:45.444408Z] 19:27:45     INFO - Test.prototype.step_func/<@http://web-platform.test:8000/resources/testharness.js:1429:20
[task 2017-06-27T19:27:45.444845Z] 19:27:45     INFO - EventListener.handleEvent*@http://web-platform.test:8000/workers/interfaces/SharedWorkerGlobalScope/name/setting.html:16:3
[task 2017-06-27T19:27:45.445063Z] 19:27:45     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1405:20
[task 2017-06-27T19:27:45.445279Z] 19:27:45     INFO - async_test@http://web-platform.test:8000/resources/testharness.js:514:13
[task 2017-06-27T19:27:45.445503Z] 19:27:45     INFO - @http://web-platform.test:8000/workers/interfaces/SharedWorkerGlobalScope/name/setting.html:14:1
Flags: needinfo?(amarchesini)
We probably need Domenic's WPT changes.
What's the correct way to have those changes in m-i? Can I just take them and land them?
Flags: needinfo?(amarchesini) → needinfo?(bkelly)
Domenic just merged them upstream.  We can ask jgraham for a sync or we could mark expected fail for now and then it will get corrected on next upstream sync.
Flags: needinfo?(bkelly)
Pushed by
name should be a replaceable attribute in worker global scopes, r=bkelly
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
please request uplift to beta when you get a chance
Flags: needinfo?(amarchesini)
Comment on attachment 8880734 [details] [diff] [review]

Approval Request Comment
[Feature/Bug causing the regression]: bug 1364297
[User impact if declined]: in workers, 'name' cannot be used as variable.
[Is this code covered by automated tests?]: there are WPTs.
[Has the fix been verified in Nightly?]: yes
[Needs manual test from QE? If yes, steps to reproduce]: no 
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: none
[Why is the change risky/not risky?]: We just make 'name' a replaceable attribute in the worker global scopes.
[String changes made/needed]: none
Flags: needinfo?(amarchesini)
Attachment #8880734 - Flags: approval-mozilla-beta?
Comment on attachment 8880734 [details] [diff] [review]

fix a regression in beta55
Attachment #8880734 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [good first verify]
I have reproduced this Bug with Nightly 56.0a1 (2017-06-22) on Windows 10, 64 Bit!

The bug's fix is now verified on latest 

Beta 55.0b8
Build ID 	20170710085521
User Agent 	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0

Nightly 56.0a1
Build ID 	20170707030206
User Agent 	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
QA Whiteboard: [good first verify] → [good first verify] [bugday-20170712]
I have reproduced this bug with Nightly 56.0a1 (2017-06-22) (64-bit) on Ubuntu 16.04 LTS!

This bug's fix is now verified with latest Beta and latest Nightly!

Build ID 	20170713200529
User Agent 	Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Build ID 	20170717100212
User Agent 	Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0

As per Comment 20 & Comment 21, I am marking this bug as verified fixed.
You need to log in before you can comment on or make changes to this bug.