Closed Bug 1127341 Opened 9 years ago Closed 9 years ago

Changing exposure set of an interface doesn't regenerate worker bindings that had that interface as an argument

Categories

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

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox38 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

Attachments

(1 file)

Bug 1121688 introduced a setup whereby the exposure set of an interface affects whether we generate overloads for worker-specific binding methods that take that interface type.

Unfortunately, the dep set of a method doesn't include the IDLInterfaces of its arguments; see the big comment in IDLWrapperType._getDependentObjects.

What this means is that if I have, in two different webidl files:

  interface X {};

and

  [Exposed=(Window,Worker)]
  interface Y {
    void foo(long arg);
    void foo(X arg);
  };

and Y has a worker-specific descriptor, we will generate a worker binding for Y without the "takes X" overload of "foo".  Then if X is modified to have [Exposed=(Window,Worker)] the binding for Y is not regenerated, since it has no explicit dependency on X.webidl.

Still thinking about ways we might be able to address this.
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Blocks: 1121688
Blocks: 1127501
Comment on attachment 8556499 [details] [diff] [review]
If we make our codegen for a binding depend on the exposure set of an interface argument to one of the binding's methods, we need to adjust the dependency set of the binding accordingly, so we'll regenerate if the exposure set changes

Review of attachment 8556499 [details] [diff] [review]:
-----------------------------------------------------------------

Better than a clobber, definitely.
Attachment #8556499 - Flags: review?(khuey) → review+
https://hg.mozilla.org/mozilla-central/rev/657c0635dfb9
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: