Make parameters to Element.getElementsBy*() operations mandatory to match the specification: - https://dom.spec.whatwg.org/#interface-element Firefox and Chrome agree with the specification so the compatibility risk should be low. It makes very little sense to call these operations without parameter, especially considering WebKit uses the string "undefined" if the parameter is omitted.
Created attachment 284281 [details] Patch
Comment on attachment 284281 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=284281&action=review > Source/WebCore/dom/Element.idl:48 > - [ImplementedAs=getElementsByTagNameForObjC] NodeList getElementsByTagName(optional DOMString name); > + [ImplementedAs=getElementsByTagNameForObjC] NodeList getElementsByTagName(DOMString name); Why are changing Objective-C version? I don't think we want to change the behavior of Objective-C API or do they behave identically in Objective-C? > Source/WebCore/dom/Element.idl:72 > - [ObjCLegacyUnnamedParameters, ImplementedAs=getElementsByTagNameNSForObjC] NodeList getElementsByTagNameNS(optional DOMString namespaceURI, optional DOMString localName); > + [ObjCLegacyUnnamedParameters, ImplementedAs=getElementsByTagNameNSForObjC] NodeList getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName); Ditto. > Source/WebCore/dom/Element.idl:135 > - [ImplementedAs=getElementsByClassNameForObjC] NodeList getElementsByClassName(optional DOMString name); > + [ImplementedAs=getElementsByClassNameForObjC] NodeList getElementsByClassName(DOMString name); Ditto.
(In reply to comment #2) > Comment on attachment 284281 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=284281&action=review > > > Source/WebCore/dom/Element.idl:48 > > - [ImplementedAs=getElementsByTagNameForObjC] NodeList getElementsByTagName(optional DOMString name); > > + [ImplementedAs=getElementsByTagNameForObjC] NodeList getElementsByTagName(DOMString name); > > Why are changing Objective-C version? I don't think we want to change the > behavior of Objective-C API or do they behave identically in Objective-C? > > > Source/WebCore/dom/Element.idl:72 > > - [ObjCLegacyUnnamedParameters, ImplementedAs=getElementsByTagNameNSForObjC] NodeList getElementsByTagNameNS(optional DOMString namespaceURI, optional DOMString localName); > > + [ObjCLegacyUnnamedParameters, ImplementedAs=getElementsByTagNameNSForObjC] NodeList getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName); > > Ditto. > > > Source/WebCore/dom/Element.idl:135 > > - [ImplementedAs=getElementsByClassNameForObjC] NodeList getElementsByClassName(optional DOMString name); > > + [ImplementedAs=getElementsByClassNameForObjC] NodeList getElementsByClassName(DOMString name); > > Ditto. "optional" has no impact on ObjC bindings. Therefore, I decided to harmonize the ObjC and the JS versions.
Created attachment 284294 [details] Patch
Comment on attachment 284294 [details] Patch Clearing flags on attachment: 284294 Committed r203547: <http://trac.webkit.org/changeset/203547>
All reviewed patches have been landed. Closing bug.