Open Bug 1071490 Opened 5 years ago Updated 9 months ago

implements statement not heeded when not in the LHS's .webidl file

Categories

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

x86
macOS
defect

Tracking

()

People

(Reporter: heycam, Unassigned)

References

(Blocks 1 open bug)

Details

I have the following:

  // FontFaceSource.webidl

  [NoInterfaceObject]
  interface FontFaceSource {
    readonly attribute FontFaceSet fonts;
  };

  Document implements FontFaceSource;

  // FontFaceSet.webidl

  [Pref="..."]
  interface FontFaceSet {
    ...
  }

But I find that the implements statement isn't heeded, and document objects don't get a .fonts property.  If I move the implements statement into Document.webidl then it does work.
You did a dep, build, didn't you?

The binding build system doesn't know about the comefrom setup you get with "implements" as being used here.  We require "implements" statements to be placed in the .webidl file that defines the LHS interface of the "implements".

We should probably just fail codegen in this situation with a helpful error message for now; this keeps biting people.
I filed bug 1071615 on failing codegen in this situation.
(In reply to Boris Zbarsky [:bz] from comment #1)
> You did a dep, build, didn't you?

Ah yes I would've.

> The binding build system doesn't know about the comefrom setup you get with
> "implements" as being used here.  We require "implements" statements to be
> placed in the .webidl file that defines the LHS interface of the
> "implements".

Ah.

> We should probably just fail codegen in this situation with a helpful error
> message for now; this keeps biting people.

Sounds good, I'll just adjust my webidl files.  Thanks!
No longer blocks: 1028497
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046

Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5.

If you have questions, please contact :mdaly.
Priority: -- → P5
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.