Roll out r204683.
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 21 Aug 2016 00:54:33 +0000 (00:54 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 21 Aug 2016 00:54:33 +0000 (00:54 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204684 268f45cc-cd09-0410-ab3c-d52691b4dbfc

37 files changed:
Source/WebCore/ChangeLog
Source/WebCore/animation/AnimationTimeline.idl
Source/WebCore/bindings/scripts/CodeGenerator.pm
Source/WebCore/bindings/scripts/IDLParser.pm
Source/WebCore/css/CSSMediaRule.idl
Source/WebCore/css/CSSPrimitiveValue.idl
Source/WebCore/css/CSSRule.idl
Source/WebCore/css/CSSStyleDeclaration.idl
Source/WebCore/css/CSSStyleSheet.idl
Source/WebCore/css/CSSValue.idl
Source/WebCore/css/StyleSheet.idl
Source/WebCore/dom/CharacterData.idl
Source/WebCore/dom/DOMImplementation.idl
Source/WebCore/dom/Document.idl
Source/WebCore/dom/Element.idl
Source/WebCore/dom/Event.idl
Source/WebCore/dom/EventListener.idl
Source/WebCore/dom/EventTarget.idl
Source/WebCore/dom/MouseEvent.idl
Source/WebCore/dom/MutationEvent.idl
Source/WebCore/dom/NamedNodeMap.idl
Source/WebCore/dom/Node.idl
Source/WebCore/dom/NodeFilter.idl
Source/WebCore/dom/NonElementParentNode.idl
Source/WebCore/dom/Range.idl
Source/WebCore/dom/UIEvent.idl
Source/WebCore/html/HTMLCollection.idl
Source/WebCore/html/HTMLSelectElement.idl
Source/WebCore/svg/SVGExternalResourcesRequired.idl
Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.idl
Source/WebCore/svg/SVGFitToViewBox.idl
Source/WebCore/svg/SVGPathSeg.idl
Source/WebCore/svg/SVGTests.idl
Source/WebCore/svg/SVGURIReference.idl
Source/WebCore/svg/SVGZoomAndPan.idl
Source/WebCore/xml/XPathExpression.idl
Source/WebCore/xml/XPathNSResolver.idl

index 172b179..02f1faf 100644 (file)
@@ -1,5 +1,9 @@
 2016-08-20  Sam Weinig  <sam@webkit.org>
 
+        Roll out r204683.
+
+2016-08-20  Sam Weinig  <sam@webkit.org>
+
         Remove Objective-C specific extended attributes / features from the bindings
         https://bugs.webkit.org/show_bug.cgi?id=161034
 
index 2def477..9a661bc 100644 (file)
@@ -29,6 +29,7 @@
 [
     Conditional=WEB_ANIMATIONS,
     CustomToJSObject,
+    ObjCPolymorphic,
     ImplementationLacksVTable
 ] interface AnimationTimeline {
     // FIXME: Only a stub at the moment.
index 4e0fa73..ecbd1b5 100644 (file)
@@ -221,8 +221,8 @@ sub ForAllParents
         my $outerInterface = shift;
         my $currentInterface = shift;
 
-        if ($currentInterface->parent) {
-            my $interfaceName = $currentInterface->parent;
+        for (@{$currentInterface->parents}) {
+            my $interfaceName = $_;
             my $parentInterface = $object->ParseInterface($outerInterface, $interfaceName);
 
             if ($beforeRecursion) {
index c4c594a..a63b1d3 100644 (file)
@@ -48,6 +48,7 @@ struct( idlDocument => {
 struct( domInterface => {
     name => '$',      # Class identifier
     parent => '$',      # Parent class identifier
+    parents => '@',      # Parent class identifiers (Kept for compatibility with ObjC bindings)
     constants => '@',    # List of 'domConstant'
     functions => '@',    # List of 'domFunction'
     anonymousFunctions => '@', # List of 'domFunction'
@@ -538,7 +539,9 @@ sub parseInterface
         my $interfaceNameToken = $self->getToken();
         $self->assertTokenType($interfaceNameToken, IdentifierToken);
         $interface->name(identifierRemoveNullablePrefix($interfaceNameToken->value()));
-        $interface->parent($self->parseInheritance());
+        my $parents = $self->parseInheritance();
+        $interface->parents($parents);
+        $interface->parent($parents->[0]);
         $self->assertTokenValue($self->getToken(), "{", __LINE__);
         my $interfaceMembers = $self->parseInterfaceMembers();
         $self->assertTokenValue($self->getToken(), "}", __LINE__);
@@ -765,7 +768,9 @@ sub parseException
         $self->assertTokenType($exceptionNameToken, IdentifierToken);
         $interface->name(identifierRemoveNullablePrefix($exceptionNameToken->value()));
         $interface->isException(1);
-        $interface->parent($self->parseInheritance());
+        my $parents = $self->parseInheritance();
+        $interface->parents($parents);
+        $interface->parent($parents->[0]);
         $self->assertTokenValue($self->getToken(), "{", __LINE__);
         my $exceptionMembers = $self->parseExceptionMembers();
         $self->assertTokenValue($self->getToken(), "}", __LINE__);
@@ -801,12 +806,18 @@ sub parseExceptionMembers
 sub parseInheritance
 {
     my $self = shift;
+    my @parent = ();
 
     my $next = $self->nextToken();
     if ($next->value() eq ":") {
         $self->assertTokenValue($self->getToken(), ":", __LINE__);
-        return $self->parseName();
+        my $name = $self->parseName();
+        push(@parent, $name);
+
+        # FIXME: Remove. Was needed for needed for ObjC bindings.
+        push(@parent, @{$self->parseIdentifiers()});
     }
+    return \@parent;
 }
 
 sub parseEnum
index cb079e0..cff22e4 100644 (file)
@@ -23,7 +23,7 @@ interface CSSMediaRule : CSSRule {
     readonly attribute MediaList media;
     readonly attribute CSSRuleList cssRules;
     
-    [RaisesException] unsigned long insertRule(optional DOMString rule = "undefined",
+    [ObjCLegacyUnnamedParameters, RaisesException] unsigned long insertRule(optional DOMString rule = "undefined",
                                                  optional unsigned long index = 0);
     [RaisesException] void deleteRule(optional unsigned long index = 0);
 };
index 61f262a..4c960cf 100644 (file)
     
     readonly attribute unsigned short primitiveType;
 
-    [RaisesException] void setFloatValue(optional unsigned short unitType = 0,
+    [ObjCLegacyUnnamedParameters, RaisesException] void setFloatValue(optional unsigned short unitType = 0,
                                       optional unrestricted float floatValue = NaN);
     [RaisesException] unrestricted float getFloatValue(optional unsigned short unitType = 0);
 
     // FIXME: Using "undefined" as default parameter value is wrong.
-    [RaisesException] void setStringValue(optional unsigned short stringType = 0,
+    [ObjCLegacyUnnamedParameters, RaisesException] void setStringValue(optional unsigned short stringType = 0,
                                        optional DOMString stringValue = "undefined");
     [RaisesException] DOMString getStringValue();
     [RaisesException] Counter getCounterValue();
index 3c05613..d62fae1 100644 (file)
@@ -24,6 +24,7 @@
     JSCustomMarkFunction,
     GenerateIsReachable,
     CustomToJSObject,
+    ObjCPolymorphic,
 ] interface CSSRule {
 
     // RuleType
index 33025bf..5f5e6bd 100644 (file)
@@ -37,7 +37,7 @@
     [RaisesException] DOMString removeProperty(DOMString propertyName);
     DOMString? getPropertyPriority(DOMString propertyName);
 
-    [RaisesException] void setProperty(DOMString propertyName, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = "");
+    [ObjCLegacyUnnamedParameters, RaisesException] void setProperty(DOMString propertyName, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = "");
 
     readonly attribute unsigned long length;
     getter DOMString item(unsigned long index);
index 10d6c3a..54fa739 100644 (file)
@@ -23,7 +23,7 @@ interface CSSStyleSheet : StyleSheet {
     readonly attribute CSSRule          ownerRule;
     readonly attribute CSSRuleList      cssRules;
 
-    [RaisesException] unsigned long insertRule(DOMString rule, unsigned long index);
+    [ObjCLegacyUnnamedParameters, RaisesException] unsigned long insertRule(DOMString rule, unsigned long index);
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     [RaisesException, ImplementedAs=deprecatedInsertRule] unsigned long insertRule(DOMString rule); // Deprecated.
 #endif
index 4685375..2758028 100644 (file)
@@ -22,6 +22,7 @@
     CustomToJSObject,
     CustomIsReachable,
     JSCustomFinalize,
+    ObjCPolymorphic,
     ImplementationLacksVTable
 ] interface CSSValue {
     // UnitTypes
index 4035083..559f6e9 100644 (file)
@@ -24,6 +24,7 @@
     JSCustomMarkFunction,
     GenerateIsReachable,
     CustomToJSObject,
+    ObjCPolymorphic,
 ] interface StyleSheet {
     readonly attribute DOMString?       type;
              attribute boolean          disabled;
index b2ede93..66cfc33 100644 (file)
@@ -23,15 +23,15 @@ interface CharacterData : Node {
 
     readonly attribute unsigned long length;
     
-    [RaisesException] DOMString? substringData(unsigned long offset, unsigned long length);
+    [ObjCLegacyUnnamedParameters, RaisesException] DOMString? substringData(unsigned long offset, unsigned long length);
 
     void appendData(DOMString data);
 
-    [RaisesException] void insertData(unsigned long offset, DOMString data);
+    [ObjCLegacyUnnamedParameters, RaisesException] void insertData(unsigned long offset, DOMString data);
 
-    [RaisesException] void deleteData(unsigned long offset, unsigned long length);
+    [ObjCLegacyUnnamedParameters, RaisesException] void deleteData(unsigned long offset, unsigned long length);
 
-    [RaisesException] void replaceData(unsigned long offset, unsigned long length, DOMString data);
+    [ObjCLegacyUnnamedParameters, RaisesException] void replaceData(unsigned long offset, unsigned long length, DOMString data);
 };
 
 CharacterData implements ChildNode;
index 34b1ef5..85d8145 100644 (file)
     // DOM Level 1
 
     // FIXME: Using "undefined" as default parameter value is wrong.
-    boolean hasFeature(optional DOMString feature = "undefined",
+    [ObjCLegacyUnnamedParameters] boolean hasFeature(optional DOMString feature = "undefined",
         [TreatNullAs=EmptyString] optional DOMString version = "undefined");
 
     // DOM Level 2
 
-    [RaisesException, NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId);
+    [ObjCLegacyUnnamedParameters, RaisesException, NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId);
 
-    [NewObject, RaisesException]
+    [NewObject, ObjCLegacyUnnamedParameters, RaisesException]
 #if defined(LANGUAGE_GOBJECT) && LANGUAGE_GOBJECT
         Document
 #else
@@ -44,7 +44,7 @@
     // DOMImplementationCSS interface from DOM Level 2 CSS
 
     // FIXME: Using "undefined" as default parameter value is wrong.
-    [RaisesException] CSSStyleSheet createCSSStyleSheet(optional DOMString title = "undefined", optional DOMString media = "undefined");
+    [ObjCLegacyUnnamedParameters, RaisesException] CSSStyleSheet createCSSStyleSheet(optional DOMString title = "undefined", optional DOMString media = "undefined");
 
     // HTMLDOMImplementation interface from DOM Level 2 HTML
 
index 2cb6838..92b9f81 100644 (file)
     [NewObject] Text createTextNode(DOMString data);
     [NewObject] Comment createComment(DOMString data);
     [NewObject, RaisesException] CDATASection createCDATASection(DOMString data);
-    [NewObject, RaisesException] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
     [NewObject, RaisesException] Attr createAttribute(DOMString name);
 
     HTMLCollection getElementsByTagName(DOMString tagname);
 
     // Introduced in DOM Level 2:
 
-    [NewObject, RaisesException] Node importNode(Node importedNode, optional boolean deep = false);
+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] Node importNode(Node importedNode, optional boolean deep = false);
 
-    [NewObject, RaisesException] Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName);
-    [NewObject, RaisesException] Attr createAttributeNS(DOMString? namespaceURI, DOMString qualifiedName);
+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName);
+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] Attr createAttributeNS(DOMString? namespaceURI, DOMString qualifiedName);
 
     HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
 
     // DOM Level 2 Style (DocumentCSS interface)
 
     // FIXME: Using "undefined" as default parameter value is wrong.
-    CSSStyleDeclaration getOverrideStyle(optional Element? element = null, optional DOMString pseudoElement = "undefined");
+    [ObjCLegacyUnnamedParameters] CSSStyleDeclaration getOverrideStyle(optional Element? element = null, optional DOMString pseudoElement = "undefined");
 
     readonly attribute DOMString contentType;
 
     // DOM Level 3 XPath (XPathEvaluator interface)
     // FIXME: Using "undefined" as default parameter value is wrong.
-    [RaisesException] XPathExpression createExpression(optional DOMString expression = "undefined", optional XPathNSResolver? resolver);
+    [ObjCLegacyUnnamedParameters, RaisesException] XPathExpression createExpression(optional DOMString expression = "undefined", optional XPathNSResolver? resolver);
     XPathNSResolver createNSResolver(Node? nodeResolver);
 
     // FIXME: Using "undefined" as default parameter value is wrong.
-    [RaisesException] XPathResult evaluate(optional DOMString expression = "undefined",
+    [ObjCLegacyUnnamedParameters, RaisesException] XPathResult evaluate(optional DOMString expression = "undefined",
                                                   optional Node? contextNode,
                                                   optional XPathNSResolver? resolver,
                                                   optional unsigned short type = 0,
index a1ea211..9a0d5b7 100644 (file)
@@ -31,7 +31,7 @@
 
     DOMString? getAttribute(DOMString name);
 
-    [RaisesException, CEReactions] void setAttribute(DOMString name, DOMString value);
+    [ObjCLegacyUnnamedParameters, RaisesException, CEReactions] void setAttribute(DOMString name, DOMString value);
 
     [CEReactions] void removeAttribute(DOMString name);
     Attr? getAttributeNode(DOMString name);
 
     // DOM Level 2 Core
 
-    DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
+    [ObjCLegacyUnnamedParameters] DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
 
-    [RaisesException, CEReactions] void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
+    [ObjCLegacyUnnamedParameters, RaisesException, CEReactions] void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
 
-    [CEReactions] void removeAttributeNS(DOMString? namespaceURI, DOMString localName);
+    [ObjCLegacyUnnamedParameters, CEReactions] void removeAttributeNS(DOMString? namespaceURI, DOMString localName);
 
     HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
 
-    Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
+    [ObjCLegacyUnnamedParameters] Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
     [RaisesException, CEReactions] Attr? setAttributeNodeNS(Attr newAttr);
     boolean hasAttribute(DOMString name);
 
-    boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
+    [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
 
     [ImplementedAs=cssomStyle] readonly attribute CSSStyleDeclaration style;
 
index efa9711..a195a7a 100644 (file)
@@ -23,6 +23,7 @@
     CustomToJSObject,
     ConstructorTemplate=Event,
     Exposed=(Window,Worker),
+    ObjCPolymorphic,
 ] interface Event {
 
     // DOM PhaseType
@@ -63,7 +64,7 @@
     void               stopPropagation();
     void               preventDefault();
 
-    void initEvent(DOMString eventTypeArg, boolean canBubbleArg, boolean cancelableArg);
+    [ObjCLegacyUnnamedParameters] void initEvent(DOMString eventTypeArg, boolean canBubbleArg, boolean cancelableArg);
 
     // DOM Level 3 Additions.
     readonly attribute boolean defaultPrevented;
index cfd3a8d..6cee565 100644 (file)
@@ -20,7 +20,8 @@
 
 // Introduced in DOM Level 2:
 [
-    NoInterfaceObject
+    NoInterfaceObject,
+    ObjCProtocol,
 ] interface EventListener {
     void handleEvent(Event event);
 };
index 4c752ca..119279b 100644 (file)
@@ -24,6 +24,7 @@
     Exposed=(Window,Worker),
     JSCustomHeader,
     JSCustomToNativeObject,
+    ObjCProtocol,
 ] interface EventTarget {
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     // FIXME: Should be:
@@ -35,8 +36,8 @@
     [ImplementedAs=removeEventListenerForBindings] void removeEventListener([AtomicString] DOMString type, EventListener? listener, EventListenerOptions options);
 #endif
 
-    [ImplementedAs=addEventListenerForBindings] void addEventListener([AtomicString] DOMString type, EventListener? listener, boolean useCapture);
-    [ImplementedAs=removeEventListenerForBindings] void removeEventListener([AtomicString] DOMString type, EventListener? listener, boolean useCapture);
+    [ObjCLegacyUnnamedParameters, ImplementedAs=addEventListenerForBindings] void addEventListener([AtomicString] DOMString type, EventListener? listener, boolean useCapture);
+    [ObjCLegacyUnnamedParameters, ImplementedAs=removeEventListenerForBindings] void removeEventListener([AtomicString] DOMString type, EventListener? listener, boolean useCapture);
 
     [ImplementedAs=dispatchEventForBindings, RaisesException] boolean dispatchEvent(Event event);
 };
index ea6265f..1edc741 100644 (file)
@@ -44,7 +44,7 @@
 #endif
     
     // FIXME: Using "undefined" as default parameter value is wrong.
-    void initMouseEvent(optional DOMString type = "undefined",
+    [ObjCLegacyUnnamedParameters] void initMouseEvent(optional DOMString type = "undefined",
                                        optional boolean canBubble = false,
                                        optional boolean cancelable = false,
                                        optional DOMWindow? view = null,
index 4ddc7b9..4033fb2 100644 (file)
@@ -32,7 +32,7 @@ interface MutationEvent : Event {
     readonly attribute unsigned short attrChange;
 
     // FIXME: Using "undefined" as default parameter value is wrong.
-    void initMutationEvent(optional DOMString type = "undefined",
+    [ObjCLegacyUnnamedParameters] void initMutationEvent(optional DOMString type = "undefined",
                                           optional boolean canBubble = false,
                                           optional boolean cancelable = false,
                                           optional Node? relatedNode = null,
index f3b3fac..3497e5b 100644 (file)
@@ -37,8 +37,8 @@
     [RaisesException] Node? setNamedItem(Node node);
     [RaisesException] Node removeNamedItem(DOMString name);
     getter Node? item(unsigned long index);
-    Node? getNamedItemNS(DOMString? namespaceURI, DOMString localName);
+    [ObjCLegacyUnnamedParameters] Node? getNamedItemNS(DOMString? namespaceURI, DOMString localName);
     [RaisesException, ImplementedAs=setNamedItem] Node? setNamedItemNS(Node node);
-    [RaisesException] Node removeNamedItemNS(DOMString? namespaceURI, DOMString localName);
+    [ObjCLegacyUnnamedParameters, RaisesException] Node removeNamedItemNS(DOMString? namespaceURI, DOMString localName);
 #endif
 };
index 0bf36a6..0656884 100644 (file)
@@ -55,8 +55,8 @@
     readonly attribute Node             nextSibling;
     readonly attribute Document         ownerDocument;
 
-    [Custom, RaisesException] Node insertBefore([CustomReturn] Node newChild, Node? refChild);
-    [Custom, RaisesException] Node replaceChild(Node newChild, [CustomReturn] Node oldChild);
+    [ObjCLegacyUnnamedParameters, Custom, RaisesException] Node insertBefore([CustomReturn] Node newChild, Node? refChild);
+    [ObjCLegacyUnnamedParameters, Custom, RaisesException] Node replaceChild(Node newChild, [CustomReturn] Node oldChild);
     [Custom, RaisesException, CEReactions] Node removeChild([CustomReturn] Node oldChild);
     [Custom, RaisesException, CEReactions] Node appendChild([CustomReturn] Node newChild);
 
index 1481ff4..f1a3ede 100644 (file)
@@ -20,6 +20,7 @@
 
 // Introduced in DOM Level 2:
 [
+    ObjCProtocol,
     IsWeakCallback,
 ] callback interface NodeFilter {
     // Constants returned by acceptNode
index d8f4020..00326b1 100644 (file)
@@ -28,5 +28,5 @@
 [
     NoInterfaceObject,
 ] interface NonElementParentNode {
-    Element getElementById([RequiresExistingAtomicString] DOMString elementId);
+    Element getElementById([ObjCExplicitAtomicString,RequiresExistingAtomicString] DOMString elementId);
 };
index 8c52d96..0f42447 100644 (file)
@@ -37,8 +37,8 @@
     [RaisesException] void setStart(Node refNode, unsigned long offset);
     [RaisesException] void setEnd(Node refNode, unsigned long offset);
 #else
-    [RaisesException] void setStart(Node refNode, long offset);
-    [RaisesException] void setEnd(Node refNode, long offset);
+    [ObjCLegacyUnnamedParameters, RaisesException] void setStart(Node refNode, long offset);
+    [ObjCLegacyUnnamedParameters, RaisesException] void setEnd(Node refNode, long offset);
 #endif
 
     [RaisesException] void setStartBefore(Node refNode);
@@ -55,7 +55,7 @@
     const unsigned short END_TO_END     = 2;
     const unsigned short END_TO_START   = 3;
 
-    [RaisesException, ImplementedAs=compareBoundaryPointsForBindings] short compareBoundaryPoints(unsigned short how, Range sourceRange);
+    [ObjCLegacyUnnamedParameters, RaisesException, ImplementedAs=compareBoundaryPointsForBindings] short compareBoundaryPoints(unsigned short how, Range sourceRange);
 
     [RaisesException] void deleteContents();
     [RaisesException, NewObject] DocumentFragment extractContents();
index eaa66e6..33d45e1 100644 (file)
@@ -25,7 +25,7 @@
     [InitializedByEventConstructor] readonly attribute long detail;
     
     // FIXME: Using "undefined" as default parameter value is wrong.
-    void initUIEvent(optional DOMString type = "undefined",
+    [ObjCLegacyUnnamedParameters] void initUIEvent(optional DOMString type = "undefined",
                                     optional boolean canBubble = false,
                                     optional boolean cancelable = false,
                                     optional DOMWindow? view = null,
index 029fe05..45aba20 100644 (file)
@@ -21,6 +21,7 @@
 [
     CustomToJSObject,
     GenerateIsReachable=ImplOwnerNodeRoot,
+    ObjCPolymorphic,
     ReportExtraMemoryCost,
 ] interface HTMLCollection {
     readonly attribute unsigned long length;
index 8d27b18..5af4ffe 100644 (file)
@@ -49,7 +49,7 @@
     HTMLOptionElement? namedItem(DOMString name);
 #endif
 
-    [RaisesException] void add(HTMLElement element, optional HTMLElement? before = null);
+    [ObjCLegacyUnnamedParameters, RaisesException] void add(HTMLElement element, optional HTMLElement? before = null);
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     // FIXME: Should be:
     // void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
index 60a1be2..37342bc 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     NoInterfaceObject,
+    ObjCProtocol,
 ] interface SVGExternalResourcesRequired { 
     readonly attribute SVGAnimatedBoolean externalResourcesRequired;
 };
index adc71fc..7c8de40 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     NoInterfaceObject,
+    ObjCProtocol
 ] interface SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
index a16f9b0..8b24da3 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     NoInterfaceObject,
+    ObjCProtocol,
 ] interface SVGFitToViewBox {
     readonly attribute SVGAnimatedRect                viewBox;
     readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
index f953058..6027458 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     CustomToJSObject,
+    ObjCPolymorphic,
     ImplementationLacksVTable
 ] interface SVGPathSeg {
     // Path Segment Types
index bd13046..fb6a72d 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     NoInterfaceObject,
+    ObjCProtocol,
     SuppressToJSObject,
 ] interface SVGTests {
     readonly attribute SVGStringList requiredFeatures;
index 26e0b77..7146e73 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     NoInterfaceObject,
+    ObjCProtocol,
     SuppressToJSObject,
 ] interface SVGURIReference {
     readonly attribute SVGAnimatedString href;
index b9c3024..60898a8 100644 (file)
@@ -26,6 +26,7 @@
 
 [
     NoInterfaceObject,
+    ObjCProtocol
 ] interface SVGZoomAndPan {
     const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;
     const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;
index a0b3225..fcf3786 100644 (file)
@@ -20,6 +20,6 @@
 [
     ImplementationLacksVTable,
 ] interface XPathExpression {
-    [RaisesException] XPathResult evaluate(optional Node? contextNode = null, optional unsigned short type = 0, optional XPathResult? inResult = null);
+    [ObjCLegacyUnnamedParameters, RaisesException] XPathResult evaluate(optional Node? contextNode = null, optional unsigned short type = 0, optional XPathResult? inResult = null);
 };
 
index 3b8495c..52e15e3 100644 (file)
@@ -21,6 +21,7 @@
 [
     JSCustomToNativeObject,
     NoInterfaceObject,
+    ObjCProtocol,
     SkipVTableValidation,
 ] interface XPathNSResolver {
     // FIXME: Using "undefined" as default parameter value is wrong.