Closed
Bug 1452862
Opened 6 years ago
Closed 6 years ago
Remove pointless WebIDL QueryInterface implementations
Categories
(Core :: DOM: Core & HTML, enhancement)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla61
Tracking | Status | |
---|---|---|
firefox61 | --- | fixed |
People
(Reporter: bzbarsky, Assigned: bzbarsky)
References
(Blocks 1 open bug)
Details
Attachments
(1 file, 1 obsolete file)
5.84 KB,
patch
|
qdot
:
review+
|
Details | Diff | Splinter Review |
We have these on a bunch of things that can't be QIed to anything other than nsISupports. Chances are these can all go away.
Assignee | ||
Comment 1•6 years ago
|
||
BarProp, CaretPosition, Crypto, CSSMozDocumentRule, CSSPrimitiveValue, CSSStyleDeclaration, CSSStyleRule, CSSValueList, DOMImplementation, DOMTokenList, FileList, FrameLoader, FormData, HTMLCollection, History, MimeTypeArray, NamedNodeMap, MutationObserver, MutationRecord, Navigator, NodeIterator, PaintRequest, PaintRequestList, Plugin, Rect, SVGAnimatedEnumeration, SVGAnimatedInteger, SVGAnimatedNumber, SVGAnimatedNumberList, SVGAnimatedPreserveAspectRatio, SVGAnimatedString, SVGLengthList, SVGNumberList, SVGPathSegList, SVGPoint, SVGPointList, SVGPreserveAspectRatio, SVGRect, SVGStringList, SVGTransformList, Touch, TouchList, TreeWalker, ValidityState only implement nsISupports, so there's no point QIing them. DOMStringMap, FrameLoader, NodeIterator, SVGPoint, StyleSheet only implement non-scriptable non-shimmed interfaces (nsIMutationObserver, nsISVGPoint, nsICSSLoaderObserver), so can't be usefully QIed from script. Notification, OfflineResourceList, Performance, Screen, WebSocket, XMLHttpRequestUpload only implement nsIDOMEventTarget, and nothing QIs to that in script. PluginArray QIs to nsIObserver but doesn't expose any corresponding methods. None of the QIs to that interface seem to be on PluginArray objects. Range QIs to nsIDOMRange, but there is no JS code that QIs to that. XMLSerializer doesn't even implement nsISupports. MozReview-Commit-ID: Fil5cBd4K4d
Attachment #8966476 -
Flags: review?(kyle)
Assignee | ||
Comment 2•6 years ago
|
||
BarProp, CaretPosition, Crypto, CSSMozDocumentRule, CSSPrimitiveValue, CSSStyleDeclaration, CSSStyleRule, CSSValueList, DOMImplementation, DOMTokenList, FileList, FrameLoader, FormData, HTMLCollection, History, MimeTypeArray, NamedNodeMap, MutationObserver, MutationRecord, Navigator, NodeIterator, PaintRequest, PaintRequestList, Plugin, Rect, SVGAnimatedEnumeration, SVGAnimatedInteger, SVGAnimatedNumber, SVGAnimatedNumberList, SVGAnimatedPreserveAspectRatio, SVGAnimatedString, SVGLengthList, SVGNumberList, SVGPathSegList, SVGPoint, SVGPointList, SVGPreserveAspectRatio, SVGRect, SVGStringList, SVGTransformList, Touch, TouchList, TreeWalker, ValidityState only implement nsISupports, so there's no point QIing them. DOMStringMap, FrameLoader, NodeIterator, SVGPoint, StyleSheet only implement non-scriptable non-shimmed interfaces (nsIMutationObserver, nsISVGPoint, nsICSSLoaderObserver), so can't be usefully QIed from script. EventSource, Notification, OfflineResourceList, Performance, Screen, WebSocket, XMLHttpRequestUpload only implement nsIDOMEventTarget, and nothing QIs to that in script. PluginArray QIs to nsIObserver but doesn't expose any corresponding methods. None of the QIs to that interface seem to be on PluginArray objects. Range QIs to nsIDOMRange, but there is no JS code that QIs to that. NodeList QIs to nsIDOMNodeList, but there is no JS code that QIs to that. XMLSerializer doesn't even implement nsISupports. MozReview-Commit-ID: Fil5cBd4K4d
Attachment #8966478 -
Flags: review?(kyle)
Assignee | ||
Updated•6 years ago
|
Attachment #8966476 -
Attachment is obsolete: true
Attachment #8966476 -
Flags: review?(kyle)
Updated•6 years ago
|
Attachment #8966478 -
Flags: review?(kyle) → review+
Pushed by bzbarsky@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/38849d14221a Remove various pointless QueryInterface implementations from bindings. r=qdot
Comment 4•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/38849d14221a
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox61:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Updated•5 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•