Rip out the codegen for the Xray-related bits of worker bindings, since we don't have Xrays in workers

RESOLVED FIXED in mozilla15

Status

()

Core
DOM
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: bz, Assigned: bz)

Tracking

unspecified
mozilla15
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

If you look at the generated code in XMLHttpRequestBinding.cpp, in the worker part, then CreateInterfaceObjects does this:

  if (sMethods_ids[0] == JSID_VOID &&
      (!InitIds(aCx, sMethods, sMethods_ids) ||
       !InitIds(aCx, sAttributes, sAttributes_ids) ||
       !InitIds(aCx, sConstants, sConstants_ids))) {

but EnumerateProperties does this:

    for (size_t i = 0; i < sizeof(sChromeAttributes_ids); ++i) {
    if ((sChromeAttributes[i].flags & JSPROP_ENUMERATE) &&
        !props.append(sChromeAttributes_ids[i])) {

and similar for ResolveProperty.  Looks pretty fishy.  This happens because CGCreateInterfaceObjectsMethod is doing:

            if props.hasChromeOnly() and not self.descriptor.workers:
                idsToInit.append(props.variableName(True))

Maybe this is all a non-issue because there are no Xrays in workers, but then we just shouldn't generate EnumerateProperties/ResolveProperty for workers, right?
Created attachment 623920 [details] [diff] [review]
Rip out the codegen for the Xray-related bits of worker bindings, since we don't have Xrays in workers.

Ben says no Xrays in workers, so let's just not generate this gunk.
Attachment #623920 - Flags: review?(peterv)
Assignee: nobody → bzbarsky
Whiteboard: [need review]
Attachment #623920 - Flags: review?(peterv) → review+
Depends on: 753522
https://hg.mozilla.org/integration/mozilla-inbound/rev/6223b41be383
Flags: in-testsuite-
Whiteboard: [need review]
Target Milestone: --- → mozilla15

Comment 3

5 years ago
https://hg.mozilla.org/mozilla-central/rev/6223b41be383
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED

Updated

5 years ago
OS: Mac OS X → All
Hardware: x86 → All
Summary: Why do we not need to init chromeonly jsids for workers? → Rip out the codegen for the Xray-related bits of worker bindings, since we don't have Xrays in workers
You need to log in before you can comment on or make changes to this bug.