Closed Bug 753642 Opened 10 years ago Closed 10 years ago

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

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

Attachments

(1 file)

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?
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
https://hg.mozilla.org/mozilla-central/rev/6223b41be383
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
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
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.