Closed Bug 921453 Opened 6 years ago Closed 5 years ago

WebIDL.py should reject ChromeOnly, Pref, PrefControlled, and Func extended attributes if [NoInterfaceObject] is also present

Categories

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

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla34

People

(Reporter: emk, Assigned: bzbarsky)

References

(Blocks 1 open bug)

Details

(Whiteboard: [lang=python])

Attachments

(1 file, 1 obsolete file)

See bug 901114.
Probably better done in Codegen.py.
Whiteboard: [mentor=bz][lang=python]
Mentor: bzbarsky
Whiteboard: [mentor=bz][lang=python] → [lang=python]
Flags: needinfo?(bzbarsky)
Blocks: 1049788
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Mentor: bzbarsky
Flags: needinfo?(bzbarsky)
Attachment #8476088 - Attachment is obsolete: true
Attachment #8476088 - Flags: review?(khuey)
Pushed:

https://hg.mozilla.org/integration/mozilla-inbound/rev/af6fa89ec550

And a followup for b2g-only silliness:

https://hg.mozilla.org/integration/mozilla-inbound/rev/4a56d8b3d613

Kyle, mind looking over that one to make sure I'm not missing something?
Flags: needinfo?(khuey)
Comment on attachment 8476093 [details] [diff] [review]
Don't allow conditional-exposure annotations on an interface that has no interface object, since they make no sense there

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

::: dom/bindings/parser/WebIDL.py
@@ +1013,5 @@
>                                self.parentScope.primaryGlobalName,
>                                [self.location])
>  
> +        # Conditional exposure makes no sense for interfaces with no
> +        # interface object, unless they're navigator properties.

What about something like

  [NoInterfaceObject, Constructor, CheckPermissions]
  interface Foo {};
NoInterfaceObject and Constructor couldn't be used together even before the changes in this bug, since NoInterfaceObject means the object that Constructor would make into a constructor doesn't even exist.
This never worked, but if the intention of CheckPermission and AvailableIn there was to conditionally expose startPoll/powerOff/etc in MozNFC, the annotations should be added directly to those methods.
Flags: needinfo?(allstars.chh)
https://hg.mozilla.org/mozilla-central/rev/af6fa89ec550
https://hg.mozilla.org/mozilla-central/rev/4a56d8b3d613
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Thanks Reuben for reporting this,
We have found this problem in Bug 1054139 (The current r+ patches will be updated again) and will fix it there.
Thanks
Flags: needinfo?(allstars.chh)
(In reply to Yoshi Huang[:allstars.chh] from comment #9)
> Thanks Reuben for reporting this,
> We have found this problem in Bug 1054139
Will move the Bug 1061055.
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.