Changeset 107182 in webkit


Ignore:
Timestamp:
Feb 8, 2012 10:58:35 PM (12 years ago)
Author:
haraken@chromium.org
Message:

Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
https://bugs.webkit.org/show_bug.cgi?id=78200

Reviewed by Adam Barth.

[Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.

  • [Optional=CallWithDefalutValue] indicates that a missing value should be treated

as if the JavaScript undefined is passed.

  • [Optional=CallWithNullValue] indicates that a missing value should be treated as

the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).

  • Actually, the difference between [Optional=CallWithDefalutValue] and

[Optional=CallWithNullValue] appears only when the type of the missing value is DOMString.
In case of [Optional=CallWithDefalutValue], the missing value is converted to the string
"undefined". On the other hand, in case of [Optional=CallWithNullValue], the missing
value is converted to the WebKit null string.

With these observations, this patch renames them as follows:

  • Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
  • Remove [Optional=CallWithNullValue]. Instead, we use

[Optional=TreatAsUndefined, TreatUndefinedAs=NullString].

Test: bindings/scripts/test/TestInterface.idl

  • bindings/js/JSDOMBinding.h: Renamed MissingIsUndefined to MissingIsUndefinedValue,

renamed MissingIsEmpty to MissingIsNullValue.

  • bindings/v8/V8Binding.h: Ditto.
  • bindings/v8/custom/V8BindingMacros.h: Ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Modified to support the IDL attribute renaming.

(GenerateParametersCheck):
(GenerateConstructorDefinition):

  • bindings/scripts/CodeGeneratorV8.pm: Ditto.

(GenerateParametersCheck):
(RequiresCustomSignature):

  • Modules/gamepad/GamepadList.idl: Renamed IDL attributes as described above.
  • Modules/intents/Intent.idl:
  • css/CSSMediaRule.idl:
  • css/CSSPrimitiveValue.idl:
  • css/CSSRuleList.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSStyleSheet.idl:
  • css/CSSValueList.idl:
  • css/MediaList.idl:
  • css/MediaQueryList.idl:
  • css/MediaQueryListListener.idl:
  • css/StyleMedia.idl:
  • css/StyleSheetList.idl:
  • css/WebKitCSSKeyframesRule.idl:
  • css/WebKitCSSMatrix.idl:
  • dom/CharacterData.idl:
  • dom/ClientRectList.idl:
  • dom/CompositionEvent.idl:
  • dom/CustomEvent.idl:
  • dom/DOMImplementation.idl:
  • dom/DOMStringList.idl:
  • dom/DataTransferItem.idl:
  • dom/DataTransferItemList.idl:
  • dom/DeviceMotionEvent.idl:
  • dom/DeviceOrientationEvent.idl:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Event.idl:
  • dom/HashChangeEvent.idl:
  • dom/KeyboardEvent.idl:
  • dom/MessageEvent.idl:
  • dom/MouseEvent.idl:
  • dom/MutationEvent.idl:
  • dom/NamedNodeMap.idl:
  • dom/Node.idl:
  • dom/NodeFilter.idl:
  • dom/NodeList.idl:
  • dom/OverflowEvent.idl:
  • dom/Range.idl:
  • dom/ShadowRoot.idl:
  • dom/Text.idl:
  • dom/TextEvent.idl:
  • dom/TouchEvent.idl:
  • dom/UIEvent.idl:
  • dom/WheelEvent.idl:
  • html/DOMFormData.idl:
  • html/HTMLAllCollection.idl:
  • html/HTMLAudioElement.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLCollection.idl:
  • html/HTMLDocument.idl:
  • html/HTMLElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTableRowElement.idl:
  • html/HTMLTableSectionElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/TextTrackCue.idl:
  • html/canvas/CanvasGradient.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/Float32Array.idl:
  • html/canvas/Float64Array.idl:
  • html/canvas/Int16Array.idl:
  • html/canvas/Int32Array.idl:
  • html/canvas/Int8Array.idl:
  • html/canvas/OESVertexArrayObject.idl:
  • html/canvas/Uint16Array.idl:
  • html/canvas/Uint32Array.idl:
  • html/canvas/Uint8Array.idl:
  • html/canvas/Uint8ClampedArray.idl:
  • page/Console.idl:
  • page/DOMSelection.idl:
  • page/DOMWindow.idl:
  • page/History.idl:
  • page/Location.idl:
  • plugins/DOMMimeTypeArray.idl:
  • plugins/DOMPlugin.idl:
  • plugins/DOMPluginArray.idl:
  • storage/IDBDatabase.idl:
  • storage/StorageEvent.idl:
  • svg/ElementTimeControl.idl:
  • svg/SVGDocument.idl:
  • svg/SVGElementInstanceList.idl:
  • svg/SVGFEDropShadowElement.idl:
  • svg/SVGFEGaussianBlurElement.idl:
  • svg/SVGFEMorphologyElement.idl:
  • svg/SVGFilterElement.idl:
  • svg/SVGLocatable.idl:
  • svg/SVGMarkerElement.idl:
  • svg/SVGPathElement.idl:
  • svg/SVGSVGElement.idl:
  • svg/SVGStylable.idl:
  • svg/SVGTests.idl:
  • svg/SVGTextContentElement.idl:
  • webaudio/AudioNode.idl:
  • workers/SharedWorker.idl:
  • workers/WorkerContext.idl:
  • xml/DOMParser.idl:
  • xml/XMLSerializer.idl:
  • xml/XPathEvaluator.idl:
  • xml/XPathExpression.idl:
  • xml/XPathNSResolver.idl:
  • xml/XPathResult.idl:
  • bindings/scripts/test/TestInterface.idl: Added test cases for [Optional],

[Optional=TreatAsUndefined] and [Optional=TreatAsUndefined, TreatUndefinedAs=NullString]

  • bindings/scripts/test/TestNamedConstructor.idl: Renamed IDL attributes as described above.
  • bindings/scripts/test/TestObj.idl: Ditto.
  • bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.

(WebDOMTestObj::methodWithOptionalString):
(WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString):
(WebDOMTestObj::methodWithOptionalIsNullStringString):

  • bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.

(webkit_dom_test_obj_method_with_optional_string):
(webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string):
(webkit_dom_test_obj_method_with_optional_is_null_string_string):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
  • bindings/scripts/test/JS/JSFloat64Array.cpp: Ditto.

(WebCore::jsFloat64ArrayPrototypeFunctionFoo):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Ditto.

(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.

(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):

  • bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.

(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.

(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):

  • bindings/scripts/test/JS/JSTestObj.cpp: Ditto.

(WebCore):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):

  • bindings/scripts/test/JS/JSTestObj.h: Ditto.

(WebCore):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):

  • bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
  • bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.

(-[DOMTestObj methodWithOptionalString:]):
(-[DOMTestObj methodWithOptionalIsTreatAsUndefinedString:]):
(-[DOMTestObj methodWithOptionalIsNullStringString:]):

  • bindings/scripts/test/V8/V8Float64Array.cpp: Ditto.

(WebCore::Float64ArrayInternal::fooCallback):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Ditto.

(WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectInternal::postMessageCallback):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.

(WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp: Ditto.

(WebCore::TestEventTargetInternal::itemCallback):
(WebCore::TestEventTargetInternal::dispatchEventCallback):

  • bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.

(WebCore::TestInterfaceInternal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.

(WebCore::TestMediaQueryListListenerInternal::methodCallback):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.

(WebCore::V8TestNamedConstructorConstructorCallback):

  • bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

(WebCore::TestObjInternal::voidMethodWithArgsCallback):
(WebCore::TestObjInternal::intMethodWithArgsCallback):
(WebCore::TestObjInternal::objMethodWithArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjInternal::idbKeyCallback):
(WebCore::TestObjInternal::optionsObjectCallback):
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
(WebCore::TestObjInternal::methodWithOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjInternal::methodWithOptionalStringCallback):
(TestObjInternal):
(WebCore::TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback):
(WebCore::TestObjInternal::methodWithOptionalIsNullStringStringCallback):
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjInternal::overloadedMethod1Callback):
(WebCore::TestObjInternal::overloadedMethod2Callback):
(WebCore::TestObjInternal::overloadedMethod3Callback):
(WebCore::TestObjInternal::overloadedMethod4Callback):
(WebCore::TestObjInternal::overloadedMethod6Callback):
(WebCore::TestObjInternal::overloadedMethod7Callback):
(WebCore::TestObjInternal::classMethodWithOptionalCallback):
(WebCore::TestObjInternal::overloadedMethod11Callback):
(WebCore::TestObjInternal::overloadedMethod12Callback):
(WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
(WebCore::TestObjInternal::convert1Callback):
(WebCore::TestObjInternal::convert2Callback):
(WebCore::TestObjInternal::convert3Callback):
(WebCore::TestObjInternal::convert4Callback):
(WebCore::TestObjInternal::convert5Callback):
(WebCore::TestObjInternal::strictFunctionCallback):
(WebCore):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.

(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

Location:
trunk/Source/WebCore
Files:
141 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r107181 r107182  
     12012-02-08  Kentaro Hara  <haraken@chromium.org>
     2
     3        Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
     4        https://bugs.webkit.org/show_bug.cgi?id=78200
     5
     6        Reviewed by Adam Barth.
     7
     8        [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.
     9
     10        - [Optional=CallWithDefalutValue] indicates that a missing value should be treated
     11        as if the JavaScript undefined is passed.
     12        - [Optional=CallWithNullValue] indicates that a missing value should be treated as
     13        the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
     14        - Actually, the difference between [Optional=CallWithDefalutValue] and
     15        [Optional=CallWithNullValue] appears only when the type of the missing value is DOMString.
     16        In case of [Optional=CallWithDefalutValue], the missing value is converted to the string
     17        "undefined". On the other hand, in case of [Optional=CallWithNullValue], the missing
     18        value is converted to the WebKit null string.
     19
     20        With these observations, this patch renames them as follows:
     21
     22        - Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
     23        - Remove [Optional=CallWithNullValue]. Instead, we use
     24        [Optional=TreatAsUndefined, TreatUndefinedAs=NullString].
     25
     26        Test: bindings/scripts/test/TestInterface.idl
     27
     28        * bindings/js/JSDOMBinding.h: Renamed MissingIsUndefined to MissingIsUndefinedValue,
     29        renamed MissingIsEmpty to MissingIsNullValue.
     30        * bindings/v8/V8Binding.h: Ditto.
     31        * bindings/v8/custom/V8BindingMacros.h: Ditto.
     32
     33        * bindings/scripts/CodeGeneratorJS.pm: Modified to support the IDL attribute renaming.
     34        (GenerateParametersCheck):
     35        (GenerateConstructorDefinition):
     36        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
     37        (GenerateParametersCheck):
     38        (RequiresCustomSignature):
     39
     40        * Modules/gamepad/GamepadList.idl: Renamed IDL attributes as described above.
     41        * Modules/intents/Intent.idl:
     42        * css/CSSMediaRule.idl:
     43        * css/CSSPrimitiveValue.idl:
     44        * css/CSSRuleList.idl:
     45        * css/CSSStyleDeclaration.idl:
     46        * css/CSSStyleSheet.idl:
     47        * css/CSSValueList.idl:
     48        * css/MediaList.idl:
     49        * css/MediaQueryList.idl:
     50        * css/MediaQueryListListener.idl:
     51        * css/StyleMedia.idl:
     52        * css/StyleSheetList.idl:
     53        * css/WebKitCSSKeyframesRule.idl:
     54        * css/WebKitCSSMatrix.idl:
     55        * dom/CharacterData.idl:
     56        * dom/ClientRectList.idl:
     57        * dom/CompositionEvent.idl:
     58        * dom/CustomEvent.idl:
     59        * dom/DOMImplementation.idl:
     60        * dom/DOMStringList.idl:
     61        * dom/DataTransferItem.idl:
     62        * dom/DataTransferItemList.idl:
     63        * dom/DeviceMotionEvent.idl:
     64        * dom/DeviceOrientationEvent.idl:
     65        * dom/Document.idl:
     66        * dom/Element.idl:
     67        * dom/Event.idl:
     68        * dom/HashChangeEvent.idl:
     69        * dom/KeyboardEvent.idl:
     70        * dom/MessageEvent.idl:
     71        * dom/MouseEvent.idl:
     72        * dom/MutationEvent.idl:
     73        * dom/NamedNodeMap.idl:
     74        * dom/Node.idl:
     75        * dom/NodeFilter.idl:
     76        * dom/NodeList.idl:
     77        * dom/OverflowEvent.idl:
     78        * dom/Range.idl:
     79        * dom/ShadowRoot.idl:
     80        * dom/Text.idl:
     81        * dom/TextEvent.idl:
     82        * dom/TouchEvent.idl:
     83        * dom/UIEvent.idl:
     84        * dom/WheelEvent.idl:
     85        * html/DOMFormData.idl:
     86        * html/HTMLAllCollection.idl:
     87        * html/HTMLAudioElement.idl:
     88        * html/HTMLCanvasElement.idl:
     89        * html/HTMLCollection.idl:
     90        * html/HTMLDocument.idl:
     91        * html/HTMLElement.idl:
     92        * html/HTMLInputElement.idl:
     93        * html/HTMLMediaElement.idl:
     94        * html/HTMLOptionElement.idl:
     95        * html/HTMLOptionsCollection.idl:
     96        * html/HTMLSelectElement.idl:
     97        * html/HTMLTableElement.idl:
     98        * html/HTMLTableRowElement.idl:
     99        * html/HTMLTableSectionElement.idl:
     100        * html/HTMLTextAreaElement.idl:
     101        * html/TextTrackCue.idl:
     102        * html/canvas/CanvasGradient.idl:
     103        * html/canvas/CanvasRenderingContext2D.idl:
     104        * html/canvas/Float32Array.idl:
     105        * html/canvas/Float64Array.idl:
     106        * html/canvas/Int16Array.idl:
     107        * html/canvas/Int32Array.idl:
     108        * html/canvas/Int8Array.idl:
     109        * html/canvas/OESVertexArrayObject.idl:
     110        * html/canvas/Uint16Array.idl:
     111        * html/canvas/Uint32Array.idl:
     112        * html/canvas/Uint8Array.idl:
     113        * html/canvas/Uint8ClampedArray.idl:
     114        * page/Console.idl:
     115        * page/DOMSelection.idl:
     116        * page/DOMWindow.idl:
     117        * page/History.idl:
     118        * page/Location.idl:
     119        * plugins/DOMMimeTypeArray.idl:
     120        * plugins/DOMPlugin.idl:
     121        * plugins/DOMPluginArray.idl:
     122        * storage/IDBDatabase.idl:
     123        * storage/StorageEvent.idl:
     124        * svg/ElementTimeControl.idl:
     125        * svg/SVGDocument.idl:
     126        * svg/SVGElementInstanceList.idl:
     127        * svg/SVGFEDropShadowElement.idl:
     128        * svg/SVGFEGaussianBlurElement.idl:
     129        * svg/SVGFEMorphologyElement.idl:
     130        * svg/SVGFilterElement.idl:
     131        * svg/SVGLocatable.idl:
     132        * svg/SVGMarkerElement.idl:
     133        * svg/SVGPathElement.idl:
     134        * svg/SVGSVGElement.idl:
     135        * svg/SVGStylable.idl:
     136        * svg/SVGTests.idl:
     137        * svg/SVGTextContentElement.idl:
     138        * webaudio/AudioNode.idl:
     139        * workers/SharedWorker.idl:
     140        * workers/WorkerContext.idl:
     141        * xml/DOMParser.idl:
     142        * xml/XMLSerializer.idl:
     143        * xml/XPathEvaluator.idl:
     144        * xml/XPathExpression.idl:
     145        * xml/XPathNSResolver.idl:
     146        * xml/XPathResult.idl:
     147
     148        * bindings/scripts/test/TestInterface.idl: Added test cases for [Optional],
     149        [Optional=TreatAsUndefined] and [Optional=TreatAsUndefined, TreatUndefinedAs=NullString]
     150        * bindings/scripts/test/TestNamedConstructor.idl: Renamed IDL attributes as described above.
     151        * bindings/scripts/test/TestObj.idl: Ditto.
     152
     153        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
     154        (WebDOMTestObj::methodWithOptionalString):
     155        (WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString):
     156        (WebDOMTestObj::methodWithOptionalIsNullStringString):
     157        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
     158        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
     159        (webkit_dom_test_obj_method_with_optional_string):
     160        (webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string):
     161        (webkit_dom_test_obj_method_with_optional_is_null_string_string):
     162        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
     163        * bindings/scripts/test/JS/JSFloat64Array.cpp: Ditto.
     164        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
     165        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Ditto.
     166        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
     167        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
     168        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
     169        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
     170        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
     171        (WebCore::jsTestEventTargetPrototypeFunctionItem):
     172        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
     173        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
     174        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
     175        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
     176        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
     177        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
     178        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
     179        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
     180        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
     181        (WebCore):
     182        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
     183        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
     184        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
     185        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
     186        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
     187        (WebCore::jsTestObjPrototypeFunctionIdbKey):
     188        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
     189        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
     190        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
     191        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
     192        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
     193        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
     194        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString):
     195        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
     196        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
     197        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
     198        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
     199        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
     200        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
     201        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
     202        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
     203        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
     204        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
     205        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
     206        (WebCore::jsTestObjPrototypeFunctionConvert1):
     207        (WebCore::jsTestObjPrototypeFunctionConvert2):
     208        (WebCore::jsTestObjPrototypeFunctionConvert3):
     209        (WebCore::jsTestObjPrototypeFunctionConvert4):
     210        (WebCore::jsTestObjPrototypeFunctionConvert5):
     211        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
     212        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
     213        (WebCore):
     214        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
     215        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
     216        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
     217        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
     218        (-[DOMTestObj methodWithOptionalString:]):
     219        (-[DOMTestObj methodWithOptionalIsTreatAsUndefinedString:]):
     220        (-[DOMTestObj methodWithOptionalIsNullStringString:]):
     221        * bindings/scripts/test/V8/V8Float64Array.cpp: Ditto.
     222        (WebCore::Float64ArrayInternal::fooCallback):
     223        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Ditto.
     224        (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
     225        (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
     226        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
     227        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
     228        * bindings/scripts/test/V8/V8TestEventTarget.cpp: Ditto.
     229        (WebCore::TestEventTargetInternal::itemCallback):
     230        (WebCore::TestEventTargetInternal::dispatchEventCallback):
     231        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
     232        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
     233        (WebCore::V8TestInterface::constructorCallback):
     234        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
     235        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
     236        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
     237        (WebCore::V8TestNamedConstructorConstructorCallback):
     238        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
     239        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
     240        (WebCore::TestObjInternal::intMethodWithArgsCallback):
     241        (WebCore::TestObjInternal::objMethodWithArgsCallback):
     242        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
     243        (WebCore::TestObjInternal::idbKeyCallback):
     244        (WebCore::TestObjInternal::optionsObjectCallback):
     245        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
     246        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
     247        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
     248        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
     249        (WebCore::TestObjInternal::methodWithOptionalStringCallback):
     250        (TestObjInternal):
     251        (WebCore::TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback):
     252        (WebCore::TestObjInternal::methodWithOptionalIsNullStringStringCallback):
     253        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
     254        (WebCore::TestObjInternal::overloadedMethod1Callback):
     255        (WebCore::TestObjInternal::overloadedMethod2Callback):
     256        (WebCore::TestObjInternal::overloadedMethod3Callback):
     257        (WebCore::TestObjInternal::overloadedMethod4Callback):
     258        (WebCore::TestObjInternal::overloadedMethod6Callback):
     259        (WebCore::TestObjInternal::overloadedMethod7Callback):
     260        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
     261        (WebCore::TestObjInternal::overloadedMethod11Callback):
     262        (WebCore::TestObjInternal::overloadedMethod12Callback):
     263        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
     264        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
     265        (WebCore::TestObjInternal::convert1Callback):
     266        (WebCore::TestObjInternal::convert2Callback):
     267        (WebCore::TestObjInternal::convert3Callback):
     268        (WebCore::TestObjInternal::convert4Callback):
     269        (WebCore::TestObjInternal::convert5Callback):
     270        (WebCore::TestObjInternal::strictFunctionCallback):
     271        (WebCore):
     272        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
     273        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
     274
    12752012-02-08  Kentaro Hara  <haraken@chromium.org>
    2276
  • trunk/Source/WebCore/Modules/gamepad/GamepadList.idl

    r106798 r107182  
    3131    ] GamepadList {
    3232        readonly attribute unsigned long length;
    33         Gamepad item(in [Optional=CallWithDefaultValue] unsigned long index);
     33        Gamepad item(in [Optional=TreatAsUndefined] unsigned long index);
    3434    };
    3535
  • trunk/Source/WebCore/Modules/intents/Intent.idl

    r104358 r107182  
    2727  interface [
    2828      Conditional=WEB_INTENTS,
    29       Constructor(in DOMString action, in DOMString type, in [Optional=CallWithNullValue] SerializedScriptValue data),
     29      Constructor(in DOMString action, in DOMString type, in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] SerializedScriptValue data),
    3030      ConstructorRaisesException
    3131  ] Intent {
  • trunk/Source/WebCore/bindings/js/JSDOMBinding.h

    r106695 r107182  
    4343
    4444enum ParameterMissingPolicy {
    45     MissingIsUndefined,
    46     MissingIsEmpty
     45    MissingIsUndefinedValue,
     46    MissingIsNullValue
    4747};
    4848
    49 #define MAYBE_MISSING_PARAMETER(exec, index, policy) (((policy) == MissingIsEmpty && (index) >= (exec)->argumentCount()) ? (JSValue()) : ((exec)->argument(index)))
     49#define MAYBE_MISSING_PARAMETER(exec, index, policy) (((policy) == MissingIsNullValue && (index) >= (exec)->argumentCount()) ? (JSValue()) : ((exec)->argument(index)))
    5050
    5151    class Frame;
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r107181 r107182  
    24282428
    24292429    foreach my $parameter (@{$function->parameters}) {
    2430         # Optional callbacks should be treated differently, because they always have a default value (0),
    2431         # and we can reduce the number of overloaded functions that take a different number of parameters.
    2432         # Optional arguments with [Optional=CallWithDefaultValue] or [Optional=CallWithNullValue]
    2433         # should not generate an early call.
    2434         my $optional = $parameter->extendedAttributes->{"Optional"};
    2435         if ($optional && $optional ne "CallWithDefaultValue" && $optional ne "CallWithNullValue" && !$parameter->extendedAttributes->{"Callback"}) {
    2436             # Generate early call if there are enough parameters.
     2430        # Optional arguments with [Optional] should generate an early call with fewer arguments.
     2431        # Optional arguments with [Optional=TreatAsUndefined] should not generate the early call.
     2432        if ($parameter->extendedAttributes->{"Optional"} && $parameter->extendedAttributes->{"Optional"} ne "TreatAsUndefined" && !$parameter->extendedAttributes->{"Callback"}) {
    24372433            if (!$hasOptionalArguments) {
    24382434                push(@$outputArray, "\n    size_t argsCount = exec->argumentCount();\n");
     
    25002496            }
    25012497
    2502             my $optional = $parameter->extendedAttributes->{"Optional"};
    2503             my $parameterMissingPolicy = "MissingIsUndefined";
    2504             if ($optional && $optional eq "CallWithNullValue") {
    2505                 $parameterMissingPolicy = "MissingIsEmpty";
     2498            my $parameterMissingPolicy = "MissingIsUndefinedValue";
     2499            if ($parameter->extendedAttributes->{"TreatAsUndefined"} and $parameter->extendedAttributes->{"TreatAsUndefined"} eq "NullString") {
     2500                $parameterMissingPolicy = "MissingIsNullValue";
    25062501            }
    25072502
     
    35223517
    35233518            # For now, we do not support SVG constructors.
    3524             # We do not also support a constructor [Optional] argument without CallWithDefaultValue
    3525             # nor CallWithNullValue.
     3519            # In constructor arguments, we can use [Optional=TreatAsUndefined] but cannot use [Optional].
    35263520            my $numParameters = @{$function->parameters};
    35273521            my ($dummy, $paramIndex) = GenerateParametersCheck($outputArray, $function, $dataNode, $numParameters, $interfaceName, "constructorCallback", undef, undef, undef);
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm

    r107181 r107182  
    15271527        my $parameterName = $parameter->name;
    15281528
    1529         # Optional callbacks should be treated differently, because they always have a default value (0),
    1530         # and we can reduce the number of overloaded functions that take a different number of parameters.
    1531         # Optional arguments with default values [Optional=CallWithDefaultValue] or [Optional=CallWithNullValue] should not generate an early call.
    1532         my $optional = $parameter->extendedAttributes->{"Optional"};       
    1533         if ($optional && $optional ne "CallWithDefaultValue" && $optional ne "CallWithNullValue" && !$parameter->extendedAttributes->{"Callback"}) {
     1529        # Optional arguments with [Optional] should generate an early call with fewer arguments.
     1530        # Optional arguments with [Optional=TreatAsUndefined] should not generate the early call.
     1531        if ($parameter->extendedAttributes->{"Optional"} && $parameter->extendedAttributes->{"Optional"} ne "TreatAsUndefined" && !$parameter->extendedAttributes->{"Callback"}) {
    15341532            # Generate early call if there are not enough parameters.
    15351533            $parameterCheckString .= "    if (args.Length() <= $paramIndex) {\n";
     
    15391537        }
    15401538
    1541         my $parameterMissingPolicy = "MissingIsUndefined";
    1542         if ($optional && $optional eq "CallWithNullValue") {
    1543             $parameterMissingPolicy = "MissingIsEmpty";
     1539        my $parameterMissingPolicy = "MissingIsUndefinedValue";
     1540        if ($parameter->extendedAttributes->{"TreatUndefinedAs"} and $parameter->extendedAttributes->{"TreatUndefinedAs"} eq "NullString") {
     1541            $parameterMissingPolicy = "MissingIsNullValue";
    15441542        }
    15451543
     
    35943592    }
    35953593    foreach my $parameter (@{$function->parameters}) {
    3596         my $optional = $parameter->extendedAttributes->{"Optional"};
    3597         if (($optional && $optional ne "CallWithDefaultValue" && $optional ne "CallWithNullValue") || $parameter->extendedAttributes->{"Callback"}) {
     3594        if (($parameter->extendedAttributes->{"Optional"} && $parameter->extendedAttributes->{"Optional"} ne "TreatAsUndefined") || $parameter->extendedAttributes->{"Callback"}) {
    35983595            return 0;
    35993596        }
  • trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.cpp

    r106528 r107182  
    944944}
    945945
     946void WebDOMTestObj::methodWithOptionalString(const WebDOMString& str)
     947{
     948    if (!impl())
     949        return;
     950
     951    impl()->methodWithOptionalString(str);
     952}
     953
     954void WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString(const WebDOMString& str)
     955{
     956    if (!impl())
     957        return;
     958
     959    impl()->methodWithOptionalIsTreatAsUndefinedString(str);
     960}
     961
     962void WebDOMTestObj::methodWithOptionalIsNullStringString(const WebDOMString& str)
     963{
     964    if (!impl())
     965        return;
     966
     967    impl()->methodWithOptionalIsNullStringString(str);
     968}
     969
    946970
    947971#if ENABLE(Condition1)
  • trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.h

    r106528 r107182  
    187187    void methodWithNonOptionalArgAndOptionalArg(int nonOpt, int opt);
    188188    void methodWithNonOptionalArgAndTwoOptionalArgs(int nonOpt, int opt1, int opt2);
     189    void methodWithOptionalString(const WebDOMString& str);
     190    void methodWithOptionalIsTreatAsUndefinedString(const WebDOMString& str);
     191    void methodWithOptionalIsNullStringString(const WebDOMString& str);
    189192    WebDOMString conditionalMethod1();
    190193    void conditionalMethod2();
  • trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp

    r107034 r107182  
    333333    WebCore::TestObj * item = WebKit::core(self);
    334334    item->methodWithNonOptionalArgAndTwoOptionalArgs(non_opt, opt1, opt2);
     335}
     336
     337void
     338webkit_dom_test_obj_method_with_optional_string(WebKitDOMTestObj* self, const gchar* str)
     339{
     340    g_return_if_fail(self);
     341    WebCore::JSMainThreadNullState state;
     342    WebCore::TestObj * item = WebKit::core(self);
     343    g_return_if_fail(str);
     344    WTF::String converted_str = WTF::String::fromUTF8(str);
     345    item->methodWithOptionalString(converted_str);
     346}
     347
     348void
     349webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string(WebKitDOMTestObj* self, const gchar* str)
     350{
     351    g_return_if_fail(self);
     352    WebCore::JSMainThreadNullState state;
     353    WebCore::TestObj * item = WebKit::core(self);
     354    g_return_if_fail(str);
     355    WTF::String converted_str = WTF::String::fromUTF8(str);
     356    item->methodWithOptionalIsTreatAsUndefinedString(converted_str);
     357}
     358
     359void
     360webkit_dom_test_obj_method_with_optional_is_null_string_string(WebKitDOMTestObj* self, const gchar* str)
     361{
     362    g_return_if_fail(self);
     363    WebCore::JSMainThreadNullState state;
     364    WebCore::TestObj * item = WebKit::core(self);
     365    g_return_if_fail(str);
     366    WTF::String converted_str = WTF::String::fromUTF8(str);
     367    item->methodWithOptionalIsNullStringString(converted_str);
    335368}
    336369
  • trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h

    r106528 r107182  
    263263
    264264/**
     265 * webkit_dom_test_obj_method_with_optional_string:
     266 * @self: A #WebKitDOMTestObj
     267 * @str: A #gchar
     268 *
     269 * Returns:
     270 *
     271**/
     272WEBKIT_API void
     273webkit_dom_test_obj_method_with_optional_string(WebKitDOMTestObj* self, const gchar* str);
     274
     275/**
     276 * webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string:
     277 * @self: A #WebKitDOMTestObj
     278 * @str: A #gchar
     279 *
     280 * Returns:
     281 *
     282**/
     283WEBKIT_API void
     284webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string(WebKitDOMTestObj* self, const gchar* str);
     285
     286/**
     287 * webkit_dom_test_obj_method_with_optional_is_null_string_string:
     288 * @self: A #WebKitDOMTestObj
     289 * @str: A #gchar
     290 *
     291 * Returns:
     292 *
     293**/
     294WEBKIT_API void
     295webkit_dom_test_obj_method_with_optional_is_null_string_string(WebKitDOMTestObj* self, const gchar* str);
     296
     297/**
    265298 * webkit_dom_test_obj_conditional_method1:
    266299 * @self: A #WebKitDOMTestObj
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.cpp

    r103315 r107182  
    236236    if (exec->argumentCount() < 1)
    237237        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    238     Float32Array* array(toFloat32Array(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     238    Float32Array* array(toFloat32Array(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    239239    if (exec->hadException())
    240240        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp

    r106618 r107182  
    187187    if (exec->argumentCount() < 1)
    188188        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    189     Node* nextChild(toNode(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     189    Node* nextChild(toNode(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    190190    if (exec->hadException())
    191191        return JSValue::encode(jsUndefined());
     
    204204    if (exec->argumentCount() < 1)
    205205        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    206     const String& message(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     206    const String& message(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    207207    if (exec->hadException())
    208208        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp

    r107039 r107182  
    177177    if (exec->argumentCount() < 1)
    178178        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    179     const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     179    const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    180180    if (exec->hadException())
    181181        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp

    r105813 r107182  
    232232    if (exec->argumentCount() < 1)
    233233        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    234     int index(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toUInt32(exec));
     234    int index(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toUInt32(exec));
    235235    if (index < 0) {
    236236        setDOMException(exec, INDEX_SIZE_ERR);
     
    289289        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    290290    ExceptionCode ec = 0;
    291     Event* evt(toEvent(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     291    Event* evt(toEvent(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    292292    if (exec->hadException())
    293293        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp

    r106892 r107182  
    119119        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    120120    ExceptionCode ec = 0;
    121     const String& str1(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     121    const String& str1(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    122122    if (exec->hadException())
    123123        return JSValue::encode(jsUndefined());
    124     const String& str2(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toString(exec)->value(exec)));
     124    const String& str2(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toString(exec)->value(exec)));
    125125    if (exec->hadException())
    126126        return JSValue::encode(jsUndefined());
     
    324324    if (!scriptContext)
    325325        return JSValue::encode(jsUndefined());
    326     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     326    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    327327    if (exec->hadException())
    328328        return JSValue::encode(jsUndefined());
    329     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined)));
     329    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue)));
    330330    if (exec->hadException())
    331331        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp

    r103937 r107182  
    167167    if (exec->argumentCount() < 1)
    168168        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    169     RefPtr<MediaQueryListListener> listener(MediaQueryListListener::create(ScriptValue(exec->globalData(), MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined))));
     169    RefPtr<MediaQueryListListener> listener(MediaQueryListListener::create(ScriptValue(exec->globalData(), MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue))));
    170170    if (exec->hadException())
    171171        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp

    r105813 r107182  
    9898        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    9999    ExceptionCode ec = 0;
    100     const String& str1(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     100    const String& str1(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    101101    if (exec->hadException())
    102102        return JSValue::encode(jsUndefined());
    103     const String& str2(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toString(exec)->value(exec)));
     103    const String& str2(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toString(exec)->value(exec)));
    104104    if (exec->hadException())
    105105        return JSValue::encode(jsUndefined());
    106     const String& str3(ustringToString(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsEmpty).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 2, MissingIsEmpty).toString(exec)->value(exec)));
     106    const String& str3(ustringToString(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue).toString(exec)->value(exec)));
    107107    if (exec->hadException())
    108108        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

    r106892 r107182  
    270270    { "methodWithNonOptionalArgAndOptionalArg", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg), (intptr_t)2, NoIntrinsic },
    271271    { "methodWithNonOptionalArgAndTwoOptionalArgs", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs), (intptr_t)3, NoIntrinsic },
     272    { "methodWithOptionalString", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalString), (intptr_t)1, NoIntrinsic },
     273    { "methodWithOptionalIsTreatAsUndefinedString", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString), (intptr_t)1, NoIntrinsic },
     274    { "methodWithOptionalIsNullStringString", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString), (intptr_t)1, NoIntrinsic },
    272275    { "methodWithCallbackArg", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithCallbackArg), (intptr_t)1, NoIntrinsic },
    273276    { "methodWithNonCallbackArgAndCallbackArg", DontDelete | JSC::Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg), (intptr_t)2, NoIntrinsic },
     
    296299};
    297300
    298 static const HashTable JSTestObjPrototypeTable = { 138, 127, JSTestObjPrototypeTableValues, 0 };
     301static const HashTable JSTestObjPrototypeTable = { 265, 255, JSTestObjPrototypeTableValues, 0 };
    299302const ClassInfo JSTestObjPrototype::s_info = { "TestObjPrototype", &Base::s_info, &JSTestObjPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
    300303
     
    11881191    if (exec->argumentCount() < 3)
    11891192        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1190     int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
    1191     if (exec->hadException())
    1192         return JSValue::encode(jsUndefined());
    1193     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toString(exec)->value(exec)));
    1194     if (exec->hadException())
    1195         return JSValue::encode(jsUndefined());
    1196     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefined)));
     1193    int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
     1194    if (exec->hadException())
     1195        return JSValue::encode(jsUndefined());
     1196    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1197    if (exec->hadException())
     1198        return JSValue::encode(jsUndefined());
     1199    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue)));
    11971200    if (exec->hadException())
    11981201        return JSValue::encode(jsUndefined());
     
    12241227    if (exec->argumentCount() < 3)
    12251228        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1226     int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
    1227     if (exec->hadException())
    1228         return JSValue::encode(jsUndefined());
    1229     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toString(exec)->value(exec)));
    1230     if (exec->hadException())
    1231         return JSValue::encode(jsUndefined());
    1232     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefined)));
     1229    int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
     1230    if (exec->hadException())
     1231        return JSValue::encode(jsUndefined());
     1232    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1233    if (exec->hadException())
     1234        return JSValue::encode(jsUndefined());
     1235    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue)));
    12331236    if (exec->hadException())
    12341237        return JSValue::encode(jsUndefined());
     
    12611264    if (exec->argumentCount() < 3)
    12621265        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1263     int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
    1264     if (exec->hadException())
    1265         return JSValue::encode(jsUndefined());
    1266     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toString(exec)->value(exec)));
    1267     if (exec->hadException())
    1268         return JSValue::encode(jsUndefined());
    1269     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefined)));
     1266    int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
     1267    if (exec->hadException())
     1268        return JSValue::encode(jsUndefined());
     1269    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1270    if (exec->hadException())
     1271        return JSValue::encode(jsUndefined());
     1272    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue)));
    12701273    if (exec->hadException())
    12711274        return JSValue::encode(jsUndefined());
     
    12861289        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    12871290    ExceptionCode ec = 0;
    1288     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
    1289     if (exec->hadException())
    1290         return JSValue::encode(jsUndefined());
    1291     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined)));
     1291    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1292    if (exec->hadException())
     1293        return JSValue::encode(jsUndefined());
     1294    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue)));
    12921295    if (exec->hadException())
    12931296        return JSValue::encode(jsUndefined());
     
    13081311    if (exec->argumentCount() < 1)
    13091312        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1310     RefPtr<SerializedScriptValue> serializedArg(SerializedScriptValue::create(exec, MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1313    RefPtr<SerializedScriptValue> serializedArg(SerializedScriptValue::create(exec, MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    13111314    if (exec->hadException())
    13121315        return JSValue::encode(jsUndefined());
     
    13251328    if (exec->argumentCount() < 1)
    13261329        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1327     RefPtr<IDBKey> key(createIDBKeyFromValue(exec, MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1330    RefPtr<IDBKey> key(createIDBKeyFromValue(exec, MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    13281331    if (exec->hadException())
    13291332        return JSValue::encode(jsUndefined());
     
    13421345    if (exec->argumentCount() < 1)
    13431346        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1344     OptionsObject* oo(toOptionsObject(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1347    OptionsObject* oo(toOptionsObject(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    13451348    if (exec->hadException())
    13461349        return JSValue::encode(jsUndefined());
     
    13521355    }
    13531356
    1354     OptionsObject* ooo(toOptionsObject(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined)));
     1357    OptionsObject* ooo(toOptionsObject(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue)));
    13551358    if (exec->hadException())
    13561359        return JSValue::encode(jsUndefined());
     
    14061409    RefPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, 1));
    14071410    RefPtr<ScriptCallStack> callStack(createScriptCallStackForInspector(exec));
    1408     log* intArg(tolog(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1411    log* intArg(tolog(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    14091412    if (exec->hadException())
    14101413        return JSValue::encode(jsUndefined());
     
    15361539    }
    15371540
    1538     int opt(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1541    int opt(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    15391542    if (exec->hadException())
    15401543        return JSValue::encode(jsUndefined());
     
    15531556    if (exec->argumentCount() < 1)
    15541557        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1555     int nonOpt(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1558    int nonOpt(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    15561559    if (exec->hadException())
    15571560        return JSValue::encode(jsUndefined());
     
    15631566    }
    15641567
    1565     int opt(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toInt32(exec));
     1568    int opt(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toInt32(exec));
    15661569    if (exec->hadException())
    15671570        return JSValue::encode(jsUndefined());
     
    15801583    if (exec->argumentCount() < 1)
    15811584        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1582     int nonOpt(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1585    int nonOpt(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    15831586    if (exec->hadException())
    15841587        return JSValue::encode(jsUndefined());
     
    15901593    }
    15911594
    1592     int opt1(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toInt32(exec));
     1595    int opt1(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toInt32(exec));
    15931596    if (exec->hadException())
    15941597        return JSValue::encode(jsUndefined());
     
    15981601    }
    15991602
    1600     int opt2(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefined).toInt32(exec));
     1603    int opt2(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue).toInt32(exec));
    16011604    if (exec->hadException())
    16021605        return JSValue::encode(jsUndefined());
    16031606    impl->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1, opt2);
     1607    return JSValue::encode(jsUndefined());
     1608}
     1609
     1610EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalString(ExecState* exec)
     1611{
     1612    JSValue thisValue = exec->hostThisValue();
     1613    if (!thisValue.inherits(&JSTestObj::s_info))
     1614        return throwVMTypeError(exec);
     1615    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
     1616    ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
     1617    TestObj* impl = static_cast<TestObj*>(castedThis->impl());
     1618
     1619    size_t argsCount = exec->argumentCount();
     1620    if (argsCount <= 0) {
     1621        impl->methodWithOptionalString();
     1622        return JSValue::encode(jsUndefined());
     1623    }
     1624
     1625    const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1626    if (exec->hadException())
     1627        return JSValue::encode(jsUndefined());
     1628    impl->methodWithOptionalString(str);
     1629    return JSValue::encode(jsUndefined());
     1630}
     1631
     1632EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString(ExecState* exec)
     1633{
     1634    JSValue thisValue = exec->hostThisValue();
     1635    if (!thisValue.inherits(&JSTestObj::s_info))
     1636        return throwVMTypeError(exec);
     1637    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
     1638    ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
     1639    TestObj* impl = static_cast<TestObj*>(castedThis->impl());
     1640    const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1641    if (exec->hadException())
     1642        return JSValue::encode(jsUndefined());
     1643    impl->methodWithOptionalIsTreatAsUndefinedString(str);
     1644    return JSValue::encode(jsUndefined());
     1645}
     1646
     1647EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString(ExecState* exec)
     1648{
     1649    JSValue thisValue = exec->hostThisValue();
     1650    if (!thisValue.inherits(&JSTestObj::s_info))
     1651        return throwVMTypeError(exec);
     1652    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
     1653    ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
     1654    TestObj* impl = static_cast<TestObj*>(castedThis->impl());
     1655    const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
     1656    if (exec->hadException())
     1657        return JSValue::encode(jsUndefined());
     1658    impl->methodWithOptionalIsNullStringString(str);
    16041659    return JSValue::encode(jsUndefined());
    16051660}
     
    16341689    if (exec->argumentCount() < 2)
    16351690        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1636     int nonCallback(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1691    int nonCallback(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    16371692    if (exec->hadException())
    16381693        return JSValue::encode(jsUndefined());
     
    17221777    if (exec->argumentCount() < 2)
    17231778        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1724     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
    1725     if (exec->hadException())
    1726         return JSValue::encode(jsUndefined());
    1727     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toString(exec)->value(exec)));
     1779    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
     1780    if (exec->hadException())
     1781        return JSValue::encode(jsUndefined());
     1782    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toString(exec)->value(exec)));
    17281783    if (exec->hadException())
    17291784        return JSValue::encode(jsUndefined());
     
    17421797    if (exec->argumentCount() < 1)
    17431798        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1744     TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1799    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    17451800    if (exec->hadException())
    17461801        return JSValue::encode(jsUndefined());
     
    17521807    }
    17531808
    1754     int intArg(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toInt32(exec));
     1809    int intArg(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toInt32(exec));
    17551810    if (exec->hadException())
    17561811        return JSValue::encode(jsUndefined());
     
    17691824    if (exec->argumentCount() < 1)
    17701825        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1771     const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     1826    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    17721827    if (exec->hadException())
    17731828        return JSValue::encode(jsUndefined());
     
    17861841    if (exec->argumentCount() < 1)
    17871842        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1788     int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1843    int intArg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    17891844    if (exec->hadException())
    17901845        return JSValue::encode(jsUndefined());
     
    18221877    if (exec->argumentCount() < 1)
    18231878        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1824     DOMStringList* listArg(toDOMStringList(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1879    DOMStringList* listArg(toDOMStringList(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    18251880    if (exec->hadException())
    18261881        return JSValue::encode(jsUndefined());
     
    18391894    if (exec->argumentCount() < 1)
    18401895        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1841     DOMStringList* arrayArg(toDOMStringList(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     1896    DOMStringList* arrayArg(toDOMStringList(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    18421897    if (exec->hadException())
    18431898        return JSValue::encode(jsUndefined());
     
    18841939    }
    18851940
    1886     int arg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1941    int arg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    18871942    if (exec->hadException())
    18881943        return JSValue::encode(jsUndefined());
     
    18971952    if (exec->argumentCount() < 1)
    18981953        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1899     int arg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toInt32(exec));
     1954    int arg(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toInt32(exec));
    19001955    if (exec->hadException())
    19011956        return JSValue::encode(jsUndefined());
     
    19111966    if (exec->argumentCount() < 1)
    19121967        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1913     const String& type(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     1968    const String& type(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    19141969    if (exec->hadException())
    19151970        return JSValue::encode(jsUndefined());
     
    19582013    if (exec->argumentCount() < 1)
    19592014        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1960     a* (toa(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     2015    a* (toa(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    19612016    if (exec->hadException())
    19622017        return JSValue::encode(jsUndefined());
     
    19752030    if (exec->argumentCount() < 1)
    19762031        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1977     b* (tob(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     2032    b* (tob(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    19782033    if (exec->hadException())
    19792034        return JSValue::encode(jsUndefined());
     
    19922047    if (exec->argumentCount() < 1)
    19932048        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    1994     c* (toc(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     2049    c* (toc(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    19952050    if (exec->hadException())
    19962051        return JSValue::encode(jsUndefined());
     
    20092064    if (exec->argumentCount() < 1)
    20102065        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    2011     d* (tod(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     2066    d* (tod(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    20122067    if (exec->hadException())
    20132068        return JSValue::encode(jsUndefined());
     
    20262081    if (exec->argumentCount() < 1)
    20272082        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    2028     e* (toe(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined)));
     2083    e* (toe(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue)));
    20292084    if (exec->hadException())
    20302085        return JSValue::encode(jsUndefined());
     
    20822137        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    20832138    ExceptionCode ec = 0;
    2084     const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
    2085     if (exec->hadException())
    2086         return JSValue::encode(jsUndefined());
    2087     float a(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined).toFloat(exec));
     2139    const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
     2140    if (exec->hadException())
     2141        return JSValue::encode(jsUndefined());
     2142    float a(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue).toFloat(exec));
    20882143    if (exec->hadException())
    20892144        return JSValue::encode(jsUndefined());
    20902145    if (exec->argumentCount() > 2 && !exec->argument(2).isUndefinedOrNull() && !exec->argument(2).inherits(&JSint::s_info))
    20912146        return throwVMTypeError(exec);
    2092     int* b(toint(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefined)));
     2147    int* b(toint(MAYBE_MISSING_PARAMETER(exec, 2, MissingIsUndefinedValue)));
    20932148    if (exec->hadException())
    20942149        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h

    r106528 r107182  
    175175JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg(JSC::ExecState*);
    176176JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs(JSC::ExecState*);
     177JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalString(JSC::ExecState*);
     178JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString(JSC::ExecState*);
     179JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString(JSC::ExecState*);
    177180JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithCallbackArg(JSC::ExecState*);
    178181JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg(JSC::ExecState*);
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp

    r106605 r107182  
    9191    if (exec->argumentCount() < 2)
    9292        return throwVMError(exec, createTypeError(exec, "Not enough arguments"));
    93     const String& hello(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)->value(exec)));
     93    const String& hello(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefinedValue).toString(exec)->value(exec)));
    9494    if (exec->hadException())
    9595        return JSValue::encode(jsUndefined());
    96     RefPtr<SerializedScriptValue> value(SerializedScriptValue::create(exec, MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined)));
     96    RefPtr<SerializedScriptValue> value(SerializedScriptValue::create(exec, MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefinedValue)));
    9797    if (exec->hadException())
    9898        return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h

    r106528 r107182  
    184184- (void)methodWithNonOptionalArgAndOptionalArg:(int)nonOpt opt:(int)opt;
    185185- (void)methodWithNonOptionalArgAndTwoOptionalArgs:(int)nonOpt opt1:(int)opt1 opt2:(int)opt2;
     186- (void)methodWithOptionalString:(NSString *)str;
     187- (void)methodWithOptionalIsTreatAsUndefinedString:(NSString *)str;
     188- (void)methodWithOptionalIsNullStringString:(NSString *)str;
    186189- (NSString *)conditionalMethod1;
    187190- (void)conditionalMethod2;
  • trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm

    r106528 r107182  
    801801}
    802802
     803- (void)methodWithOptionalString:(NSString *)str
     804{
     805    WebCore::JSMainThreadNullState state;
     806    IMPL->methodWithOptionalString(str);
     807}
     808
     809- (void)methodWithOptionalIsTreatAsUndefinedString:(NSString *)str
     810{
     811    WebCore::JSMainThreadNullState state;
     812    IMPL->methodWithOptionalIsTreatAsUndefinedString(str);
     813}
     814
     815- (void)methodWithOptionalIsNullStringString:(NSString *)str
     816{
     817    WebCore::JSMainThreadNullState state;
     818    IMPL->methodWithOptionalIsNullStringString(str);
     819}
     820
    803821
    804822#if ENABLE(Condition1)
  • trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl

    r107051 r107182  
    3535        Conditional=Condition1|Condition2,
    3636        CallWith=ScriptExecutionContext,
    37         Constructor(in DOMString str1, in [Optional=CallWithDefaultValue] DOMString str2),
     37        Constructor(in DOMString str1, in [Optional=TreatAsUndefined] DOMString str2),
    3838        ConstructorRaisesException
    3939    ] TestInterface {
  • trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl

    r101627 r107182  
    3232    interface [
    3333        ActiveDOMObject,
    34         NamedConstructor=Audio(in DOMString str1, in [Optional=CallWithDefaultValue] DOMString str2, in [Optional=CallWithNullValue] DOMString str3),
     34        NamedConstructor=Audio(in DOMString str1, in [Optional=TreatAsUndefined] DOMString str2, in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString str3),
    3535        ConstructorRaisesException
    3636    ] TestNamedConstructor {
  • trunk/Source/WebCore/bindings/scripts/test/TestObj.idl

    r106892 r107182  
    119119        void    methodWithNonOptionalArgAndOptionalArg(in long nonOpt, in [Optional] long opt);
    120120        void    methodWithNonOptionalArgAndTwoOptionalArgs(in long nonOpt, in [Optional] long opt1, in [Optional] long opt2);
     121        void    methodWithOptionalString(in [Optional] DOMString str);
     122        void    methodWithOptionalIsTreatAsUndefinedString(in [Optional=TreatAsUndefined] DOMString str);
     123        void    methodWithOptionalIsNullStringString(in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString str);
    121124
    122125#if defined(TESTING_V8) || defined(TESTING_JS)
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp

    r101301 r107182  
    5555        return throwError("Not enough arguments", V8Proxy::TypeError);
    5656    Float64Array* imp = V8Float64Array::toNative(args.Holder());
    57     EXCEPTION_BLOCK(Float32Array*, array, V8Float32Array::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     57    EXCEPTION_BLOCK(Float32Array*, array, V8Float32Array::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    5858    return toV8(imp->foo(array));
    5959}
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp

    r104526 r107182  
    5656    if (!V8BindingSecurity::canAccessFrame(V8BindingState::Only(), imp->frame(), true))
    5757        return v8::Handle<v8::Value>();
    58     EXCEPTION_BLOCK(Node*, nextChild, V8Node::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     58    EXCEPTION_BLOCK(Node*, nextChild, V8Node::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    5959    imp->excitingFunction(nextChild);
    6060    return v8::Handle<v8::Value>();
     
    6767        return throwError("Not enough arguments", V8Proxy::TypeError);
    6868    TestActiveDOMObject* imp = V8TestActiveDOMObject::toNative(args.Holder());
    69     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, message, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
     69    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, message, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
    7070    imp->postMessage(message);
    7171    return v8::Handle<v8::Value>();
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp

    r107039 r107182  
    4646        return throwError("Not enough arguments", V8Proxy::TypeError);
    4747    TestCustomNamedGetter* imp = V8TestCustomNamedGetter::toNative(args.Holder());
    48     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
     48    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
    4949    imp->anotherFunction(str);
    5050    return v8::Handle<v8::Value>();
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp

    r104526 r107182  
    5151    ExceptionCode ec = 0;
    5252    {
    53     EXCEPTION_BLOCK(int, index, toUInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     53    EXCEPTION_BLOCK(int, index, toUInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    5454    if (UNLIKELY(index < 0)) {
    5555        ec = INDEX_SIZE_ERR;
     
    9393    ExceptionCode ec = 0;
    9494    {
    95     EXCEPTION_BLOCK(Event*, evt, V8Event::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     95    EXCEPTION_BLOCK(Event*, evt, V8Event::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    9696    bool result = imp->dispatchEvent(evt, ec);
    9797    if (UNLIKELY(ec))
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp

    r106892 r107182  
    104104    ExceptionCode ec = 0;
    105105    {
    106     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
    107     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined))) : 0);
     106    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     107    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue))) : 0);
    108108    ScriptExecutionContext* scriptContext = getScriptExecutionContext();
    109109    if (!scriptContext)
     
    177177
    178178    ExceptionCode ec = 0;
    179     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str1, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
    180     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str2, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
     179    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str1, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     180    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str2, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
    181181
    182182    ScriptExecutionContext* context = getScriptExecutionContext();
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp

    r99244 r107182  
    4747        return throwError("Not enough arguments", V8Proxy::TypeError);
    4848    TestMediaQueryListListener* imp = V8TestMediaQueryListListener::toNative(args.Holder());
    49     EXCEPTION_BLOCK(RefPtr<MediaQueryListListener>, listener, MediaQueryListListener::create(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     49    EXCEPTION_BLOCK(RefPtr<MediaQueryListListener>, listener, MediaQueryListListener::create(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    5050    imp->method(listener);
    5151    return v8::Handle<v8::Value>();
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp

    r104233 r107182  
    6868
    6969    ExceptionCode ec = 0;
    70     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str1, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
    71     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str2, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
    72     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str3, MAYBE_MISSING_PARAMETER(args, 2, MissingIsEmpty));
     70    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str1, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     71    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str2, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
     72    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str3, MAYBE_MISSING_PARAMETER(args, 2, MissingIsNullValue));
    7373
    7474    RefPtr<TestNamedConstructor> impl = TestNamedConstructor::createForJSConstructor(document, str1, str2, str3, ec);
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp

    r106892 r107182  
    876876        return throwError("Not enough arguments", V8Proxy::TypeError);
    877877    TestObj* imp = V8TestObj::toNative(args.Holder());
    878     EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
    879     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
    880     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined))) : 0);
     878    EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
     879    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
     880    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue))) : 0);
    881881    imp->voidMethodWithArgs(intArg, strArg, objArg);
    882882    return v8::Handle<v8::Value>();
     
    896896        return throwError("Not enough arguments", V8Proxy::TypeError);
    897897    TestObj* imp = V8TestObj::toNative(args.Holder());
    898     EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
    899     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
    900     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined))) : 0);
     898    EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
     899    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
     900    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue))) : 0);
    901901    return v8::Integer::New(imp->intMethodWithArgs(intArg, strArg, objArg));
    902902}
     
    915915        return throwError("Not enough arguments", V8Proxy::TypeError);
    916916    TestObj* imp = V8TestObj::toNative(args.Holder());
    917     EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
    918     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
    919     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined))) : 0);
     917    EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
     918    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
     919    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue))) : 0);
    920920    return toV8(imp->objMethodWithArgs(intArg, strArg, objArg));
    921921}
     
    929929    ExceptionCode ec = 0;
    930930    {
    931     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
    932     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined))) : 0);
     931    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     932    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue))) : 0);
    933933    RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec);
    934934    if (UNLIKELY(ec))
     
    961961        return throwError("Not enough arguments", V8Proxy::TypeError);
    962962    TestObj* imp = V8TestObj::toNative(args.Holder());
    963     EXCEPTION_BLOCK(RefPtr<IDBKey>, key, createIDBKeyFromValue(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     963    EXCEPTION_BLOCK(RefPtr<IDBKey>, key, createIDBKeyFromValue(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    964964    imp->idbKey(key);
    965965    return v8::Handle<v8::Value>();
     
    972972        return throwError("Not enough arguments", V8Proxy::TypeError);
    973973    TestObj* imp = V8TestObj::toNative(args.Holder());
    974     EXCEPTION_BLOCK(OptionsObject, oo, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
     974    EXCEPTION_BLOCK(OptionsObject, oo, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
    975975    if (args.Length() > 0 && !oo.isUndefinedOrNull() && !oo.isObject()) {
    976976        ec = TYPE_MISMATCH_ERR;
     
    982982        return v8::Handle<v8::Value>();
    983983    }
    984     EXCEPTION_BLOCK(OptionsObject, ooo, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
     984    EXCEPTION_BLOCK(OptionsObject, ooo, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
    985985    if (args.Length() > 1 && !ooo.isUndefinedOrNull() && !ooo.isObject()) {
    986986        ec = TYPE_MISMATCH_ERR;
     
    10201020    if (!callStack)
    10211021        return v8::Undefined();
    1022     EXCEPTION_BLOCK(log*, intArg, V8log::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8log::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1022    EXCEPTION_BLOCK(log*, intArg, V8log::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8log::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    10231023    imp->customArgsAndException(intArg, scriptArguments, callStack, ec);
    10241024    if (UNLIKELY(ec))
     
    11321132        return v8::Handle<v8::Value>();
    11331133    }
    1134     EXCEPTION_BLOCK(int, opt, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1134    EXCEPTION_BLOCK(int, opt, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    11351135    imp->methodWithOptionalArg(opt);
    11361136    return v8::Handle<v8::Value>();
     
    11431143        return throwError("Not enough arguments", V8Proxy::TypeError);
    11441144    TestObj* imp = V8TestObj::toNative(args.Holder());
    1145     EXCEPTION_BLOCK(int, nonOpt, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1145    EXCEPTION_BLOCK(int, nonOpt, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    11461146    if (args.Length() <= 1) {
    11471147        imp->methodWithNonOptionalArgAndOptionalArg(nonOpt);
    11481148        return v8::Handle<v8::Value>();
    11491149    }
    1150     EXCEPTION_BLOCK(int, opt, toInt32(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)));
     1150    EXCEPTION_BLOCK(int, opt, toInt32(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue)));
    11511151    imp->methodWithNonOptionalArgAndOptionalArg(nonOpt, opt);
    11521152    return v8::Handle<v8::Value>();
     
    11591159        return throwError("Not enough arguments", V8Proxy::TypeError);
    11601160    TestObj* imp = V8TestObj::toNative(args.Holder());
    1161     EXCEPTION_BLOCK(int, nonOpt, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1161    EXCEPTION_BLOCK(int, nonOpt, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    11621162    if (args.Length() <= 1) {
    11631163        imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt);
    11641164        return v8::Handle<v8::Value>();
    11651165    }
    1166     EXCEPTION_BLOCK(int, opt1, toInt32(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)));
     1166    EXCEPTION_BLOCK(int, opt1, toInt32(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue)));
    11671167    if (args.Length() <= 2) {
    11681168        imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1);
    11691169        return v8::Handle<v8::Value>();
    11701170    }
    1171     EXCEPTION_BLOCK(int, opt2, toInt32(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined)));
     1171    EXCEPTION_BLOCK(int, opt2, toInt32(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue)));
    11721172    imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1, opt2);
     1173    return v8::Handle<v8::Value>();
     1174}
     1175
     1176static v8::Handle<v8::Value> methodWithOptionalStringCallback(const v8::Arguments& args)
     1177{
     1178    INC_STATS("DOM.TestObj.methodWithOptionalString");
     1179    TestObj* imp = V8TestObj::toNative(args.Holder());
     1180    if (args.Length() <= 0) {
     1181        imp->methodWithOptionalString();
     1182        return v8::Handle<v8::Value>();
     1183    }
     1184    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     1185    imp->methodWithOptionalString(str);
     1186    return v8::Handle<v8::Value>();
     1187}
     1188
     1189static v8::Handle<v8::Value> methodWithOptionalIsTreatAsUndefinedStringCallback(const v8::Arguments& args)
     1190{
     1191    INC_STATS("DOM.TestObj.methodWithOptionalIsTreatAsUndefinedString");
     1192    TestObj* imp = V8TestObj::toNative(args.Holder());
     1193    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     1194    imp->methodWithOptionalIsTreatAsUndefinedString(str);
     1195    return v8::Handle<v8::Value>();
     1196}
     1197
     1198static v8::Handle<v8::Value> methodWithOptionalIsNullStringStringCallback(const v8::Arguments& args)
     1199{
     1200    INC_STATS("DOM.TestObj.methodWithOptionalIsNullStringString");
     1201    TestObj* imp = V8TestObj::toNative(args.Holder());
     1202    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsNullValue));
     1203    imp->methodWithOptionalIsNullStringString(str);
    11731204    return v8::Handle<v8::Value>();
    11741205}
     
    11931224        return throwError("Not enough arguments", V8Proxy::TypeError);
    11941225    TestObj* imp = V8TestObj::toNative(args.Holder());
    1195     EXCEPTION_BLOCK(int, nonCallback, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1226    EXCEPTION_BLOCK(int, nonCallback, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    11961227    if (args.Length() <= 1 || !args[1]->IsObject())
    11971228        return throwError(TYPE_MISMATCH_ERR);
     
    12561287        return throwError("Not enough arguments", V8Proxy::TypeError);
    12571288    TestObj* imp = V8TestObj::toNative(args.Holder());
    1258     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
    1259     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined));
     1289    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
     1290    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue));
    12601291    imp->overloadedMethod(objArg, strArg);
    12611292    return v8::Handle<v8::Value>();
     
    12681299        return throwError("Not enough arguments", V8Proxy::TypeError);
    12691300    TestObj* imp = V8TestObj::toNative(args.Holder());
    1270     EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1301    EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    12711302    if (args.Length() <= 1) {
    12721303        imp->overloadedMethod(objArg);
    12731304        return v8::Handle<v8::Value>();
    12741305    }
    1275     EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)));
     1306    EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue)));
    12761307    imp->overloadedMethod(objArg, intArg);
    12771308    return v8::Handle<v8::Value>();
     
    12841315        return throwError("Not enough arguments", V8Proxy::TypeError);
    12851316    TestObj* imp = V8TestObj::toNative(args.Holder());
    1286     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
     1317    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
    12871318    imp->overloadedMethod(strArg);
    12881319    return v8::Handle<v8::Value>();
     
    12951326        return throwError("Not enough arguments", V8Proxy::TypeError);
    12961327    TestObj* imp = V8TestObj::toNative(args.Holder());
    1297     EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1328    EXCEPTION_BLOCK(int, intArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    12981329    imp->overloadedMethod(intArg);
    12991330    return v8::Handle<v8::Value>();
     
    13191350        return throwError("Not enough arguments", V8Proxy::TypeError);
    13201351    TestObj* imp = V8TestObj::toNative(args.Holder());
    1321     EXCEPTION_BLOCK(RefPtr<DOMStringList>, listArg, v8ValueToWebCoreDOMStringList(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1352    EXCEPTION_BLOCK(RefPtr<DOMStringList>, listArg, v8ValueToWebCoreDOMStringList(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    13221353    imp->overloadedMethod(listArg);
    13231354    return v8::Handle<v8::Value>();
     
    13301361        return throwError("Not enough arguments", V8Proxy::TypeError);
    13311362    TestObj* imp = V8TestObj::toNative(args.Holder());
    1332     EXCEPTION_BLOCK(RefPtr<DOMStringList>, arrayArg, v8ValueToWebCoreDOMStringList(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1363    EXCEPTION_BLOCK(RefPtr<DOMStringList>, arrayArg, v8ValueToWebCoreDOMStringList(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    13331364    imp->overloadedMethod(arrayArg);
    13341365    return v8::Handle<v8::Value>();
     
    13691400        return v8::Integer::New(TestObj::classMethodWithOptional());
    13701401    }
    1371     EXCEPTION_BLOCK(int, arg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1402    EXCEPTION_BLOCK(int, arg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    13721403    return v8::Integer::New(TestObj::classMethodWithOptional(arg));
    13731404}
     
    13801411    if (args.Length() < 1)
    13811412        return throwError("Not enough arguments", V8Proxy::TypeError);
    1382     EXCEPTION_BLOCK(int, arg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)));
     1413    EXCEPTION_BLOCK(int, arg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)));
    13831414    TestObj::overloadedMethod1(arg);
    13841415    return v8::Handle<v8::Value>();
     
    13941425    if (args.Length() < 1)
    13951426        return throwError("Not enough arguments", V8Proxy::TypeError);
    1396     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, type, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
     1427    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, type, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
    13971428    TestObj::overloadedMethod1(type);
    13981429    return v8::Handle<v8::Value>();
     
    14221453        return throwError("Not enough arguments", V8Proxy::TypeError);
    14231454    TestObj* imp = V8TestObj::toNative(args.Holder());
    1424     EXCEPTION_BLOCK(int, intArg, V8int::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8int::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1455    EXCEPTION_BLOCK(int, intArg, V8int::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8int::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    14251456    imp->enabledAtRuntimeMethod1(intArg);
    14261457    return v8::Handle<v8::Value>();
     
    14331464        return throwError("Not enough arguments", V8Proxy::TypeError);
    14341465    TestObj* imp = V8TestObj::toNative(args.Holder());
    1435     EXCEPTION_BLOCK(int, intArg, V8int::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8int::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1466    EXCEPTION_BLOCK(int, intArg, V8int::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8int::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    14361467    imp->enabledAtRuntimeMethod2(intArg);
    14371468    return v8::Handle<v8::Value>();
     
    14621493        return throwError("Not enough arguments", V8Proxy::TypeError);
    14631494    TestObj* imp = V8TestObj::toNative(args.Holder());
    1464     EXCEPTION_BLOCK(a*, , V8a::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8a::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1495    EXCEPTION_BLOCK(a*, , V8a::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8a::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    14651496    imp->convert1();
    14661497    return v8::Handle<v8::Value>();
     
    14731504        return throwError("Not enough arguments", V8Proxy::TypeError);
    14741505    TestObj* imp = V8TestObj::toNative(args.Holder());
    1475     EXCEPTION_BLOCK(b*, , V8b::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8b::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1506    EXCEPTION_BLOCK(b*, , V8b::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8b::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    14761507    imp->convert2();
    14771508    return v8::Handle<v8::Value>();
     
    14841515        return throwError("Not enough arguments", V8Proxy::TypeError);
    14851516    TestObj* imp = V8TestObj::toNative(args.Holder());
    1486     EXCEPTION_BLOCK(c*, , V8c::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8c::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1517    EXCEPTION_BLOCK(c*, , V8c::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8c::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    14871518    imp->convert3();
    14881519    return v8::Handle<v8::Value>();
     
    14951526        return throwError("Not enough arguments", V8Proxy::TypeError);
    14961527    TestObj* imp = V8TestObj::toNative(args.Holder());
    1497     EXCEPTION_BLOCK(d*, , V8d::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8d::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1528    EXCEPTION_BLOCK(d*, , V8d::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue)) ? V8d::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue))) : 0);
    14981529    imp->convert4();
    14991530    return v8::Handle<v8::Value>();
     
    15061537        return throwError("Not enough arguments", V8Proxy::TypeError);
    15071538    TestObj* imp = V8TestObj::toNative(args.Holder());
    1508     EXCEPTION_BLOCK(e*, , V8e::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8e::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
     1539    EXCEPTION_BLOCK(e*, , V8e::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsNullValue)) ? V8e::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsNullValue))) : 0);
    15091540    imp->convert5();
    15101541    return v8::Handle<v8::Value>();
     
    15411572    ExceptionCode ec = 0;
    15421573    {
    1543     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
    1544     EXCEPTION_BLOCK(float, a, static_cast<float>(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)->NumberValue()));
    1545     EXCEPTION_BLOCK(int, b, V8int::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined)) ? V8int::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefined))) : 0);
     1574    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, str, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
     1575    EXCEPTION_BLOCK(float, a, static_cast<float>(MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefinedValue)->NumberValue()));
     1576    EXCEPTION_BLOCK(int, b, V8int::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue)) ? V8int::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, MissingIsUndefinedValue))) : 0);
    15461577    RefPtr<bool> result = imp->strictFunction(str, a, b, ec);
    15471578    if (UNLIKELY(ec))
     
    16871718    {"methodWithNonOptionalArgAndOptionalArg", TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback},
    16881719    {"methodWithNonOptionalArgAndTwoOptionalArgs", TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback},
     1720    {"methodWithOptionalString", TestObjInternal::methodWithOptionalStringCallback},
     1721    {"methodWithOptionalIsTreatAsUndefinedString", TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback},
     1722    {"methodWithOptionalIsNullStringString", TestObjInternal::methodWithOptionalIsNullStringStringCallback},
    16891723    {"methodWithCallbackArg", TestObjInternal::methodWithCallbackArgCallback},
    16901724    {"methodWithNonCallbackArgAndCallbackArg", TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback},
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp

    r106605 r107182  
    128128    if (args.Length() < 2)
    129129        return throwError("Not enough arguments", V8Proxy::TypeError);
    130     STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, hello, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
     130    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, hello, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefinedValue));
    131131    bool valueDidThrow = false;
    132132    RefPtr<SerializedScriptValue> value = SerializedScriptValue::create(args[1], 0, 0, valueDidThrow);
  • trunk/Source/WebCore/bindings/v8/V8Binding.h

    r105157 r107182  
    513513
    514514    enum ParameterMissingPolicy {
    515         MissingIsUndefined,
    516         MissingIsEmpty
     515        MissingIsUndefinedValue,
     516        MissingIsNullValue
    517517    };
    518518
  • trunk/Source/WebCore/bindings/v8/custom/V8BindingMacros.h

    r95901 r107182  
    4949
    5050#define MAYBE_MISSING_PARAMETER(args, index, policy) \
    51     (((policy) == MissingIsEmpty && (index) >= (args).Length()) ? (v8::Local<v8::Value>()) : ((args)[(index)]))
     51    (((policy) == MissingIsNullValue && (index) >= (args).Length()) ? (v8::Local<v8::Value>()) : ((args)[(index)]))
  • trunk/Source/WebCore/css/CSSMediaRule.idl

    r106660 r107182  
    2626        readonly attribute CSSRuleList cssRules;
    2727       
    28         [ObjCLegacyUnnamedParameters] unsigned long      insertRule(in [Optional=CallWithDefaultValue] DOMString rule,
    29                                                      in [Optional=CallWithDefaultValue] unsigned long index)
     28        [ObjCLegacyUnnamedParameters] unsigned long      insertRule(in [Optional=TreatAsUndefined] DOMString rule,
     29                                                     in [Optional=TreatAsUndefined] unsigned long index)
    3030            raises(DOMException);
    31         void               deleteRule(in [Optional=CallWithDefaultValue] unsigned long index)
     31        void               deleteRule(in [Optional=TreatAsUndefined] unsigned long index)
    3232            raises(DOMException);
    3333    };
  • trunk/Source/WebCore/css/CSSPrimitiveValue.idl

    r106660 r107182  
    5252        readonly attribute unsigned short primitiveType;
    5353
    54         [ObjCLegacyUnnamedParameters] void setFloatValue(in [Optional=CallWithDefaultValue] unsigned short unitType,
    55                                           in [Optional=CallWithDefaultValue] float floatValue)
     54        [ObjCLegacyUnnamedParameters] void setFloatValue(in [Optional=TreatAsUndefined] unsigned short unitType,
     55                                          in [Optional=TreatAsUndefined] float floatValue)
    5656            raises(DOMException);
    57         float getFloatValue(in [Optional=CallWithDefaultValue] unsigned short unitType)
     57        float getFloatValue(in [Optional=TreatAsUndefined] unsigned short unitType)
    5858            raises(DOMException);
    59         [ObjCLegacyUnnamedParameters] void setStringValue(in [Optional=CallWithDefaultValue] unsigned short stringType,
    60                                            in [Optional=CallWithDefaultValue] DOMString stringValue)
     59        [ObjCLegacyUnnamedParameters] void setStringValue(in [Optional=TreatAsUndefined] unsigned short stringType,
     60                                           in [Optional=TreatAsUndefined] DOMString stringValue)
    6161            raises(DOMException);
    6262        DOMString getStringValue()
  • trunk/Source/WebCore/css/CSSRuleList.idl

    r106798 r107182  
    3333    ] CSSRuleList {
    3434        readonly attribute unsigned long    length;
    35         CSSRule           item(in [Optional=CallWithDefaultValue] unsigned long index);
     35        CSSRule           item(in [Optional=TreatAsUndefined] unsigned long index);
    3636    };
    3737
  • trunk/Source/WebCore/css/CSSStyleDeclaration.idl

    r107051 r107182  
    3434                     setter raises(DOMException);
    3535
    36         [ConvertNullStringTo=Null] DOMString          getPropertyValue(in [Optional=CallWithDefaultValue] DOMString propertyName);
    37         [JSCustom] CSSValue           getPropertyCSSValue(in [Optional=CallWithDefaultValue] DOMString propertyName);
    38         [ConvertNullStringTo=Null] DOMString          removeProperty(in [Optional=CallWithDefaultValue] DOMString propertyName)
     36        [ConvertNullStringTo=Null] DOMString          getPropertyValue(in [Optional=TreatAsUndefined] DOMString propertyName);
     37        [JSCustom] CSSValue           getPropertyCSSValue(in [Optional=TreatAsUndefined] DOMString propertyName);
     38        [ConvertNullStringTo=Null] DOMString          removeProperty(in [Optional=TreatAsUndefined] DOMString propertyName)
    3939            raises(DOMException);
    40         [ConvertNullStringTo=Null] DOMString          getPropertyPriority(in [Optional=CallWithDefaultValue] DOMString propertyName);
    41         [ObjCLegacyUnnamedParameters] void setProperty(in [Optional=CallWithDefaultValue] DOMString propertyName,
    42                                         in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString value,
    43                                         in [Optional=CallWithDefaultValue] DOMString priority)
     40        [ConvertNullStringTo=Null] DOMString          getPropertyPriority(in [Optional=TreatAsUndefined] DOMString propertyName);
     41        [ObjCLegacyUnnamedParameters] void setProperty(in [Optional=TreatAsUndefined] DOMString propertyName,
     42                                        in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString value,
     43                                        in [Optional=TreatAsUndefined] DOMString priority)
    4444            raises(DOMException);
    4545
    4646        readonly attribute unsigned long    length;
    47         DOMString          item(in [Optional=CallWithDefaultValue] unsigned long index);
     47        DOMString          item(in [Optional=TreatAsUndefined] unsigned long index);
    4848        readonly attribute CSSRule          parentRule;
    4949
    5050        // Extensions
    51         [ConvertNullStringTo=Null] DOMString          getPropertyShorthand(in [Optional=CallWithDefaultValue] DOMString propertyName);
    52         boolean            isPropertyImplicit(in [Optional=CallWithDefaultValue] DOMString propertyName);
     51        [ConvertNullStringTo=Null] DOMString          getPropertyShorthand(in [Optional=TreatAsUndefined] DOMString propertyName);
     52        boolean            isPropertyImplicit(in [Optional=TreatAsUndefined] DOMString propertyName);
    5353    };
    5454
  • trunk/Source/WebCore/css/CSSStyleSheet.idl

    r106660 r107182  
    2626        readonly attribute CSSRuleList      cssRules;
    2727
    28         [ObjCLegacyUnnamedParameters] unsigned long insertRule(in [Optional=CallWithDefaultValue] DOMString rule,
    29                                                 in [Optional=CallWithDefaultValue] unsigned long index)
     28        [ObjCLegacyUnnamedParameters] unsigned long insertRule(in [Optional=TreatAsUndefined] DOMString rule,
     29                                                in [Optional=TreatAsUndefined] unsigned long index)
    3030            raises(DOMException);
    31         void               deleteRule(in [Optional=CallWithDefaultValue] unsigned long index)
     31        void               deleteRule(in [Optional=TreatAsUndefined] unsigned long index)
    3232            raises(DOMException);
    3333
     
    3535        readonly attribute CSSRuleList      rules;
    3636
    37         long addRule(in [Optional=CallWithDefaultValue] DOMString selector,
    38                      in [Optional=CallWithDefaultValue] DOMString style,
     37        long addRule(in [Optional=TreatAsUndefined] DOMString selector,
     38                     in [Optional=TreatAsUndefined] DOMString style,
    3939                     in [Optional] unsigned long index)
    4040            raises(DOMException);
    41         void removeRule(in [Optional=CallWithDefaultValue] unsigned long index)
     41        void removeRule(in [Optional=TreatAsUndefined] unsigned long index)
    4242            raises(DOMException);
    4343    };
  • trunk/Source/WebCore/css/CSSValueList.idl

    r106798 r107182  
    3131    ] CSSValueList : CSSValue {
    3232        readonly attribute unsigned long    length;
    33         CSSValue           item(in [Optional=CallWithDefaultValue] unsigned long index);
     33        CSSValue           item(in [Optional=TreatAsUndefined] unsigned long index);
    3434    };
    3535
  • trunk/Source/WebCore/css/MediaList.idl

    r106798 r107182  
    3636        readonly attribute unsigned long length;
    3737
    38         [ConvertNullStringTo=Null] DOMString item(in [Optional=CallWithDefaultValue] unsigned long index);
    39         void deleteMedium(in [Optional=CallWithDefaultValue] DOMString oldMedium)
     38        [ConvertNullStringTo=Null] DOMString item(in [Optional=TreatAsUndefined] unsigned long index);
     39        void deleteMedium(in [Optional=TreatAsUndefined] DOMString oldMedium)
    4040            raises(DOMException);
    41         void appendMedium(in [Optional=CallWithDefaultValue] DOMString newMedium)
     41        void appendMedium(in [Optional=TreatAsUndefined] DOMString newMedium)
    4242            raises(DOMException);
    4343
  • trunk/Source/WebCore/css/MediaQueryList.idl

    r92236 r107182  
    2222        readonly attribute DOMString media;
    2323        readonly attribute boolean matches;
    24         void addListener(in [Optional=CallWithDefaultValue] MediaQueryListListener listener);
    25         void removeListener(in [Optional=CallWithDefaultValue] MediaQueryListListener listener);
     24        void addListener(in [Optional=TreatAsUndefined] MediaQueryListListener listener);
     25        void removeListener(in [Optional=TreatAsUndefined] MediaQueryListListener listener);
    2626    };
    2727}
  • trunk/Source/WebCore/css/MediaQueryListListener.idl

    r106737 r107182  
    2525        OmitConstructor
    2626    ] MediaQueryListListener {
    27         void queryChanged(in [Optional=CallWithDefaultValue] MediaQueryList list);
     27        void queryChanged(in [Optional=TreatAsUndefined] MediaQueryList list);
    2828    };
    2929}
  • trunk/Source/WebCore/css/StyleMedia.idl

    r106737 r107182  
    3030    ] StyleMedia {
    3131        readonly attribute DOMString type;
    32         boolean matchMedium(in [Optional=CallWithDefaultValue] DOMString mediaquery);
     32        boolean matchMedium(in [Optional=TreatAsUndefined] DOMString mediaquery);
    3333    };
    3434}
  • trunk/Source/WebCore/css/StyleSheetList.idl

    r106798 r107182  
    2929    ] StyleSheetList {
    3030        readonly attribute unsigned long    length;
    31         StyleSheet         item(in [Optional=CallWithDefaultValue] unsigned long index);
     31        StyleSheet         item(in [Optional=TreatAsUndefined] unsigned long index);
    3232    };
    3333
  • trunk/Source/WebCore/css/WebKitCSSKeyframesRule.idl

    r106798 r107182  
    3737        readonly attribute CSSRuleList cssRules;
    3838       
    39         void insertRule(in [Optional=CallWithDefaultValue] DOMString rule);
    40         void deleteRule(in [Optional=CallWithDefaultValue] DOMString key);
    41         WebKitCSSKeyframeRule findRule(in [Optional=CallWithDefaultValue] DOMString key);
     39        void insertRule(in [Optional=TreatAsUndefined] DOMString rule);
     40        void deleteRule(in [Optional=TreatAsUndefined] DOMString key);
     41        WebKitCSSKeyframeRule findRule(in [Optional=TreatAsUndefined] DOMString key);
    4242    };
    4343
  • trunk/Source/WebCore/css/WebKitCSSMatrix.idl

    r106645 r107182  
    2929    interface [
    3030        ConstructorParameters=1,
    31         Constructor(in [Optional=CallWithNullValue] DOMString cssValue),
     31        Constructor(in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString cssValue),
    3232        ConstructorRaisesException,
    3333    ] WebKitCSSMatrix {
     
    5858        attribute double m44;
    5959
    60         void setMatrixValue(in [Optional=CallWithDefaultValue] DOMString string) raises (DOMException);
     60        void setMatrixValue(in [Optional=TreatAsUndefined] DOMString string) raises (DOMException);
    6161       
    6262        // Multiply this matrix by secondMatrix, on the right (result = this * secondMatrix)
    63         [Immutable] WebKitCSSMatrix multiply(in [Optional=CallWithDefaultValue] WebKitCSSMatrix secondMatrix);
     63        [Immutable] WebKitCSSMatrix multiply(in [Optional=TreatAsUndefined] WebKitCSSMatrix secondMatrix);
    6464       
    6565        // Return the inverse of this matrix. Throw an exception if the matrix is not invertible
     
    6868        // Return this matrix translated by the passed values.
    6969        // Passing a NaN will use a value of 0. This allows the 3D form to used for 2D operations   
    70         [Immutable] WebKitCSSMatrix translate(in [Optional=CallWithDefaultValue] double x,
    71                                               in [Optional=CallWithDefaultValue] double y,
    72                                               in [Optional=CallWithDefaultValue] double z);
     70        [Immutable] WebKitCSSMatrix translate(in [Optional=TreatAsUndefined] double x,
     71                                              in [Optional=TreatAsUndefined] double y,
     72                                              in [Optional=TreatAsUndefined] double z);
    7373       
    7474        // Returns this matrix scaled by the passed values.
    7575        // Passing scaleX or scaleZ as NaN uses a value of 1, but passing scaleY of NaN
    7676        // makes it the same as scaleX. This allows the 3D form to used for 2D operations
    77         [Immutable] WebKitCSSMatrix scale(in [Optional=CallWithDefaultValue] double scaleX,
    78                                           in [Optional=CallWithDefaultValue] double scaleY,
    79                                           in [Optional=CallWithDefaultValue] double scaleZ);
     77        [Immutable] WebKitCSSMatrix scale(in [Optional=TreatAsUndefined] double scaleX,
     78                                          in [Optional=TreatAsUndefined] double scaleY,
     79                                          in [Optional=TreatAsUndefined] double scaleZ);
    8080       
    8181        // Returns this matrix rotated by the passed values.
    8282        // If rotY and rotZ are NaN, rotate about Z (rotX=0, rotateY=0, rotateZ=rotX).
    8383        // Otherwise use a rotation value of 0 for any passed NaN.   
    84         [Immutable] WebKitCSSMatrix rotate(in [Optional=CallWithDefaultValue] double rotX,
    85                                            in [Optional=CallWithDefaultValue] double rotY,
    86                                            in [Optional=CallWithDefaultValue] double rotZ);
     84        [Immutable] WebKitCSSMatrix rotate(in [Optional=TreatAsUndefined] double rotX,
     85                                           in [Optional=TreatAsUndefined] double rotY,
     86                                           in [Optional=TreatAsUndefined] double rotZ);
    8787       
    8888        // Returns this matrix rotated about the passed axis by the passed angle.
    8989        // Passing a NaN will use a value of 0. If the axis is (0,0,0) use a value
    9090        // of (0,0,1).
    91         [Immutable] WebKitCSSMatrix rotateAxisAngle(in [Optional=CallWithDefaultValue] double x,
    92                                                     in [Optional=CallWithDefaultValue] double y,
    93                                                     in [Optional=CallWithDefaultValue] double z,
    94                                                     in [Optional=CallWithDefaultValue] double angle);
     91        [Immutable] WebKitCSSMatrix rotateAxisAngle(in [Optional=TreatAsUndefined] double x,
     92                                                    in [Optional=TreatAsUndefined] double y,
     93                                                    in [Optional=TreatAsUndefined] double z,
     94                                                    in [Optional=TreatAsUndefined] double angle);
    9595
    9696        // Returns this matrix skewed along the X axis by the passed values.
    9797        // Passing a NaN will use a value of 0.
    98         [Immutable] WebKitCSSMatrix skewX(in [Optional=CallWithDefaultValue] double angle);
     98        [Immutable] WebKitCSSMatrix skewX(in [Optional=TreatAsUndefined] double angle);
    9999
    100100        // Returns this matrix skewed along the Y axis by the passed values.
    101101        // Passing a NaN will use a value of 0.
    102         [Immutable] WebKitCSSMatrix skewY(in [Optional=CallWithDefaultValue] double angle);
     102        [Immutable] WebKitCSSMatrix skewY(in [Optional=TreatAsUndefined] double angle);
    103103
    104104        [NotEnumerable] DOMString toString();
  • trunk/Source/WebCore/dom/CharacterData.idl

    r106776 r107182  
    2727        readonly attribute unsigned long length;
    2828       
    29         [ConvertNullStringTo=Null, ObjCLegacyUnnamedParameters] DOMString substringData(in [IsIndex,Optional=CallWithDefaultValue] unsigned long offset,
    30                                                                          in [IsIndex,Optional=CallWithDefaultValue] unsigned long length)
     29        [ConvertNullStringTo=Null, ObjCLegacyUnnamedParameters] DOMString substringData(in [IsIndex,Optional=TreatAsUndefined] unsigned long offset,
     30                                                                         in [IsIndex,Optional=TreatAsUndefined] unsigned long length)
    3131            raises(DOMException);
    3232
    33         void appendData(in [Optional=CallWithDefaultValue] DOMString data)
     33        void appendData(in [Optional=TreatAsUndefined] DOMString data)
    3434            raises(DOMException);
    3535
    36         [ObjCLegacyUnnamedParameters] void insertData(in [IsIndex,Optional=CallWithDefaultValue] unsigned long offset,
    37                                        in [Optional=CallWithDefaultValue] DOMString data)
     36        [ObjCLegacyUnnamedParameters] void insertData(in [IsIndex,Optional=TreatAsUndefined] unsigned long offset,
     37                                       in [Optional=TreatAsUndefined] DOMString data)
    3838            raises(DOMException);
    3939
    40         [ObjCLegacyUnnamedParameters] void deleteData(in [IsIndex,Optional=CallWithDefaultValue] unsigned long offset,
    41                                        in [IsIndex,Optional=CallWithDefaultValue] unsigned long length)
     40        [ObjCLegacyUnnamedParameters] void deleteData(in [IsIndex,Optional=TreatAsUndefined] unsigned long offset,
     41                                       in [IsIndex,Optional=TreatAsUndefined] unsigned long length)
    4242            raises(DOMException);
    4343
    44         [ObjCLegacyUnnamedParameters] void replaceData(in [IsIndex,Optional=CallWithDefaultValue] unsigned long offset,
    45                                         in [IsIndex,Optional=CallWithDefaultValue] unsigned long length,
    46                                         in [Optional=CallWithDefaultValue] DOMString data)
     44        [ObjCLegacyUnnamedParameters] void replaceData(in [IsIndex,Optional=TreatAsUndefined] unsigned long offset,
     45                                        in [IsIndex,Optional=TreatAsUndefined] unsigned long length,
     46                                        in [Optional=TreatAsUndefined] DOMString data)
    4747            raises(DOMException);
    4848   
  • trunk/Source/WebCore/dom/ClientRectList.idl

    r106798 r107182  
    3131    ] ClientRectList {
    3232        readonly attribute unsigned long length;
    33         ClientRect item(in [IsIndex,Optional=CallWithDefaultValue] unsigned long index);
     33        ClientRect item(in [IsIndex,Optional=TreatAsUndefined] unsigned long index);
    3434        // FIXME: Fix list behavior to allow custom exceptions to be thrown.
    3535    };
  • trunk/Source/WebCore/dom/CompositionEvent.idl

    r91617 r107182  
    3131        readonly attribute DOMString data;
    3232
    33         void initCompositionEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    34                                   in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    35                                   in [Optional=CallWithDefaultValue] boolean cancelableArg,
    36                                   in [Optional=CallWithDefaultValue] DOMWindow viewArg,
    37                                   in [Optional=CallWithDefaultValue] DOMString dataArg);
     33        void initCompositionEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     34                                  in [Optional=TreatAsUndefined] boolean canBubbleArg,
     35                                  in [Optional=TreatAsUndefined] boolean cancelableArg,
     36                                  in [Optional=TreatAsUndefined] DOMWindow viewArg,
     37                                  in [Optional=TreatAsUndefined] DOMString dataArg);
    3838
    3939    };
  • trunk/Source/WebCore/dom/CustomEvent.idl

    r106644 r107182  
    3333        readonly attribute [InitializedByEventConstructor] DOMObject detail;
    3434
    35         void initCustomEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    36                              in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    37                              in [Optional=CallWithDefaultValue] boolean cancelableArg,
    38                              in [Optional=CallWithDefaultValue] DOMObject detailArg);
     35        void initCustomEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     36                             in [Optional=TreatAsUndefined] boolean canBubbleArg,
     37                             in [Optional=TreatAsUndefined] boolean cancelableArg,
     38                             in [Optional=TreatAsUndefined] DOMObject detailArg);
    3939    };
    4040#endif
  • trunk/Source/WebCore/dom/DOMImplementation.idl

    r106776 r107182  
    2828        // DOM Level 1
    2929
    30         [ObjCLegacyUnnamedParameters] boolean hasFeature(in [Optional=CallWithDefaultValue] DOMString feature,
    31                                           in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString version);
     30        [ObjCLegacyUnnamedParameters] boolean hasFeature(in [Optional=TreatAsUndefined] DOMString feature,
     31                                          in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString version);
    3232
    3333        // DOM Level 2
    3434
    35         [ObjCLegacyUnnamedParameters] DocumentType createDocumentType(in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString qualifiedName,
    36                                                        in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString publicId,
    37                                                        in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString systemId)
     35        [ObjCLegacyUnnamedParameters] DocumentType createDocumentType(in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString qualifiedName,
     36                                                       in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString publicId,
     37                                                       in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString systemId)
    3838            raises(DOMException);
    39         [ObjCLegacyUnnamedParameters] Document createDocument(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    40                                                in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString qualifiedName,
    41                                                in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DocumentType doctype)
     39        [ObjCLegacyUnnamedParameters] Document createDocument(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     40                                               in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString qualifiedName,
     41                                               in [TreatNullAs=NullString,Optional=TreatAsUndefined] DocumentType doctype)
    4242            raises(DOMException);
    4343
    4444        // DOMImplementationCSS interface from DOM Level 2 CSS
    4545
    46         [ObjCLegacyUnnamedParameters] CSSStyleSheet createCSSStyleSheet(in [Optional=CallWithDefaultValue] DOMString title,
    47                                                          in [Optional=CallWithDefaultValue] DOMString media)
     46        [ObjCLegacyUnnamedParameters] CSSStyleSheet createCSSStyleSheet(in [Optional=TreatAsUndefined] DOMString title,
     47                                                         in [Optional=TreatAsUndefined] DOMString media)
    4848            raises(DOMException);
    4949
    5050        // HTMLDOMImplementation interface from DOM Level 2 HTML
    5151
    52         HTMLDocument createHTMLDocument(in [Optional=CallWithDefaultValue] DOMString title);
     52        HTMLDocument createHTMLDocument(in [Optional=TreatAsUndefined] DOMString title);
    5353    };
    5454
  • trunk/Source/WebCore/dom/DOMStringList.idl

    r106798 r107182  
    3030    ] DOMStringList {
    3131        readonly attribute unsigned long length;
    32         [ConvertNullStringTo=Null] DOMString item(in [IsIndex,Optional=CallWithDefaultValue] unsigned long index);
    33         boolean contains(in [Optional=CallWithDefaultValue] DOMString string);
     32        [ConvertNullStringTo=Null] DOMString item(in [IsIndex,Optional=TreatAsUndefined] unsigned long index);
     33        boolean contains(in [Optional=TreatAsUndefined] DOMString string);
    3434    };
    3535
  • trunk/Source/WebCore/dom/DataTransferItem.idl

    r92433 r107182  
    3737        readonly attribute DOMString type;
    3838
    39         void getAsString(in [Callback,Optional=CallWithDefaultValue] StringCallback callback);
     39        void getAsString(in [Callback,Optional=TreatAsUndefined] StringCallback callback);
    4040        Blob getAsFile();
    4141    };
  • trunk/Source/WebCore/dom/DataTransferItemList.idl

    r107041 r107182  
    4040    ] DataTransferItemList {
    4141        readonly attribute long length;
    42         DataTransferItem item(in [Optional=CallWithDefaultValue] unsigned long index);
     42        DataTransferItem item(in [Optional=TreatAsUndefined] unsigned long index);
    4343
    4444        void clear();
    4545        void add(in File file);
    46         void add(in [Optional=CallWithDefaultValue] DOMString data,
    47                  in [Optional=CallWithDefaultValue] DOMString type) raises(DOMException);
     46        void add(in [Optional=TreatAsUndefined] DOMString data,
     47                 in [Optional=TreatAsUndefined] DOMString type) raises(DOMException);
    4848    };
    4949
  • trunk/Source/WebCore/dom/DeviceMotionEvent.idl

    r91617 r107182  
    3333        readonly attribute [Custom] RotationRate rotationRate;
    3434        readonly attribute [Custom] double interval;
    35         [Custom] void initDeviceMotionEvent(in [Optional=CallWithDefaultValue] DOMString type,
    36                                             in [Optional=CallWithDefaultValue] boolean bubbles,
    37                                             in [Optional=CallWithDefaultValue] boolean cancelable,
    38                                             in [Optional=CallWithDefaultValue] Acceleration acceleration,
    39                                             in [Optional=CallWithDefaultValue] Acceleration accelerationIncludingGravity,
    40                                             in [Optional=CallWithDefaultValue] RotationRate rotationRate,
    41                                             in [Optional=CallWithDefaultValue] double interval);
     35        [Custom] void initDeviceMotionEvent(in [Optional=TreatAsUndefined] DOMString type,
     36                                            in [Optional=TreatAsUndefined] boolean bubbles,
     37                                            in [Optional=TreatAsUndefined] boolean cancelable,
     38                                            in [Optional=TreatAsUndefined] Acceleration acceleration,
     39                                            in [Optional=TreatAsUndefined] Acceleration accelerationIncludingGravity,
     40                                            in [Optional=TreatAsUndefined] RotationRate rotationRate,
     41                                            in [Optional=TreatAsUndefined] double interval);
    4242    };
    4343
  • trunk/Source/WebCore/dom/DeviceOrientationEvent.idl

    r105036 r107182  
    3333        readonly attribute [Custom] double gamma;
    3434        readonly attribute [Custom] boolean absolute;
    35         [Custom] void initDeviceOrientationEvent(in [Optional=CallWithDefaultValue] DOMString type,
    36                                                  in [Optional=CallWithDefaultValue] boolean bubbles,
    37                                                  in [Optional=CallWithDefaultValue] boolean cancelable,
    38                                                  in [Optional=CallWithDefaultValue] double alpha,
    39                                                  in [Optional=CallWithDefaultValue] double beta,
    40                                                  in [Optional=CallWithDefaultValue] double gamma,
    41                                                  in [Optional=CallWithDefaultValue] boolean absolute);
     35        [Custom] void initDeviceOrientationEvent(in [Optional=TreatAsUndefined] DOMString type,
     36                                                 in [Optional=TreatAsUndefined] boolean bubbles,
     37                                                 in [Optional=TreatAsUndefined] boolean cancelable,
     38                                                 in [Optional=TreatAsUndefined] double alpha,
     39                                                 in [Optional=TreatAsUndefined] double beta,
     40                                                 in [Optional=TreatAsUndefined] double gamma,
     41                                                 in [Optional=TreatAsUndefined] boolean absolute);
    4242    };
    4343
  • trunk/Source/WebCore/dom/Document.idl

    r107041 r107182  
    3232        readonly attribute Element documentElement;
    3333
    34         [ReturnNewObject] Element createElement(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString tagName)
     34        [ReturnNewObject] Element createElement(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString tagName)
    3535            raises (DOMException);
    3636        DocumentFragment   createDocumentFragment();
    37         [ReturnNewObject] Text createTextNode(in [Optional=CallWithDefaultValue] DOMString data);
    38         [ReturnNewObject] Comment createComment(in [Optional=CallWithDefaultValue] DOMString data);
    39         [ReturnNewObject] CDATASection createCDATASection(in [Optional=CallWithDefaultValue] DOMString data)
    40             raises(DOMException);
    41         [ObjCLegacyUnnamedParameters, ReturnNewObject] ProcessingInstruction createProcessingInstruction(in [Optional=CallWithDefaultValue] DOMString target,
    42                                                                                      in [Optional=CallWithDefaultValue] DOMString data)
    43             raises (DOMException);
    44         [ReturnNewObject] Attr createAttribute(in [Optional=CallWithDefaultValue] DOMString name)
    45             raises (DOMException);
    46         [ReturnNewObject] EntityReference createEntityReference(in [Optional=CallWithDefaultValue] DOMString name)
    47             raises(DOMException);
    48         NodeList           getElementsByTagName(in [Optional=CallWithDefaultValue] DOMString tagname);
     37        [ReturnNewObject] Text createTextNode(in [Optional=TreatAsUndefined] DOMString data);
     38        [ReturnNewObject] Comment createComment(in [Optional=TreatAsUndefined] DOMString data);
     39        [ReturnNewObject] CDATASection createCDATASection(in [Optional=TreatAsUndefined] DOMString data)
     40            raises(DOMException);
     41        [ObjCLegacyUnnamedParameters, ReturnNewObject] ProcessingInstruction createProcessingInstruction(in [Optional=TreatAsUndefined] DOMString target,
     42                                                                                     in [Optional=TreatAsUndefined] DOMString data)
     43            raises (DOMException);
     44        [ReturnNewObject] Attr createAttribute(in [Optional=TreatAsUndefined] DOMString name)
     45            raises (DOMException);
     46        [ReturnNewObject] EntityReference createEntityReference(in [Optional=TreatAsUndefined] DOMString name)
     47            raises(DOMException);
     48        NodeList           getElementsByTagName(in [Optional=TreatAsUndefined] DOMString tagname);
    4949
    5050        // Introduced in DOM Level 2:
    5151
    52         [ObjCLegacyUnnamedParameters, ReturnNewObject] Node importNode(in [Optional=CallWithDefaultValue] Node importedNode,
     52        [ObjCLegacyUnnamedParameters, ReturnNewObject] Node importNode(in [Optional=TreatAsUndefined] Node importedNode,
    5353                                                   in [Optional] boolean deep)
    5454            raises (DOMException);
    55         [ObjCLegacyUnnamedParameters, ReturnNewObject] Element createElementNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    56                                                            in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString qualifiedName)
    57             raises (DOMException);
    58         [ObjCLegacyUnnamedParameters, ReturnNewObject] Attr createAttributeNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    59                                                           in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString qualifiedName)
    60             raises (DOMException);
    61         [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    62                                                        in [Optional=CallWithDefaultValue] DOMString localName);
    63         Element            getElementById(in [Optional=CallWithDefaultValue] DOMString elementId);
     55        [ObjCLegacyUnnamedParameters, ReturnNewObject] Element createElementNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     56                                                           in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString qualifiedName)
     57            raises (DOMException);
     58        [ObjCLegacyUnnamedParameters, ReturnNewObject] Attr createAttributeNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     59                                                          in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString qualifiedName)
     60            raises (DOMException);
     61        [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     62                                                       in [Optional=TreatAsUndefined] DOMString localName);
     63        Element            getElementById(in [Optional=TreatAsUndefined] DOMString elementId);
    6464
    6565        // DOM Level 3 Core
     
    7373                    setter raises (DOMException);
    7474
    75         Node               adoptNode(in [Optional=CallWithDefaultValue] Node source)
     75        Node               adoptNode(in [Optional=TreatAsUndefined] Node source)
    7676            raises (DOMException);
    7777
     
    8080        // DOM Level 2 Events (DocumentEvents interface)
    8181
    82         Event              createEvent(in [Optional=CallWithDefaultValue] DOMString eventType)
     82        Event              createEvent(in [Optional=TreatAsUndefined] DOMString eventType)
    8383            raises(DOMException);
    8484
     
    8989        // DOM Level 2 Tranversal and Range (DocumentTraversal interface)
    9090
    91         [ObjCLegacyUnnamedParameters] NodeIterator createNodeIterator(in [Optional=CallWithDefaultValue] Node root,
    92                                                        in [Optional=CallWithDefaultValue] unsigned long whatToShow,
    93                                                        in [Optional=CallWithDefaultValue] NodeFilter filter,
    94                                                        in [Optional=CallWithDefaultValue] boolean expandEntityReferences)
    95             raises(DOMException);
    96         [ObjCLegacyUnnamedParameters] TreeWalker createTreeWalker(in [Optional=CallWithDefaultValue] Node root,
    97                                                    in [Optional=CallWithDefaultValue] unsigned long whatToShow,
    98                                                    in [Optional=CallWithDefaultValue] NodeFilter filter,
    99                                                    in [Optional=CallWithDefaultValue] boolean expandEntityReferences)
     91        [ObjCLegacyUnnamedParameters] NodeIterator createNodeIterator(in [Optional=TreatAsUndefined] Node root,
     92                                                       in [Optional=TreatAsUndefined] unsigned long whatToShow,
     93                                                       in [Optional=TreatAsUndefined] NodeFilter filter,
     94                                                       in [Optional=TreatAsUndefined] boolean expandEntityReferences)
     95            raises(DOMException);
     96        [ObjCLegacyUnnamedParameters] TreeWalker createTreeWalker(in [Optional=TreatAsUndefined] Node root,
     97                                                   in [Optional=TreatAsUndefined] unsigned long whatToShow,
     98                                                   in [Optional=TreatAsUndefined] NodeFilter filter,
     99                                                   in [Optional=TreatAsUndefined] boolean expandEntityReferences)
    100100            raises(DOMException);
    101101
     
    110110        // DOM Level 2 Style (DocumentCSS interface)
    111111
    112         [ObjCLegacyUnnamedParameters] CSSStyleDeclaration getOverrideStyle(in [Optional=CallWithDefaultValue] Element element,
    113                                                             in [Optional=CallWithDefaultValue] DOMString pseudoElement);
     112        [ObjCLegacyUnnamedParameters] CSSStyleDeclaration getOverrideStyle(in [Optional=TreatAsUndefined] Element element,
     113                                                            in [Optional=TreatAsUndefined] DOMString pseudoElement);
    114114
    115115        // DOM Level 3 XPath (XPathEvaluator interface)
    116         [ObjCLegacyUnnamedParameters] XPathExpression createExpression(in [Optional=CallWithDefaultValue] DOMString expression,
    117                                                         in [Optional=CallWithDefaultValue] XPathNSResolver resolver)
     116        [ObjCLegacyUnnamedParameters] XPathExpression createExpression(in [Optional=TreatAsUndefined] DOMString expression,
     117                                                        in [Optional=TreatAsUndefined] XPathNSResolver resolver)
    118118            raises(DOMException);
    119119        XPathNSResolver    createNSResolver(in Node nodeResolver);
    120         [ObjCLegacyUnnamedParameters, V8Custom] XPathResult evaluate(in [Optional=CallWithDefaultValue] DOMString expression,
    121                                                       in [Optional=CallWithDefaultValue] Node contextNode,
    122                                                       in [Optional=CallWithDefaultValue] XPathNSResolver resolver,
    123                                                       in [Optional=CallWithDefaultValue] unsigned short type,
    124                                                       in [Optional=CallWithDefaultValue] XPathResult inResult)
     120        [ObjCLegacyUnnamedParameters, V8Custom] XPathResult evaluate(in [Optional=TreatAsUndefined] DOMString expression,
     121                                                      in [Optional=TreatAsUndefined] Node contextNode,
     122                                                      in [Optional=TreatAsUndefined] XPathNSResolver resolver,
     123                                                      in [Optional=TreatAsUndefined] unsigned short type,
     124                                                      in [Optional=TreatAsUndefined] XPathResult inResult)
    125125            raises(DOMException);
    126126
    127127        // Common extensions
    128128
    129         boolean            execCommand(in [Optional=CallWithDefaultValue] DOMString command,
    130                                        in [Optional=CallWithDefaultValue] boolean userInterface,
    131                                        in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString value);
     129        boolean            execCommand(in [Optional=TreatAsUndefined] DOMString command,
     130                                       in [Optional=TreatAsUndefined] boolean userInterface,
     131                                       in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString value);
    132132
    133133#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
     
    138138#endif
    139139
    140         boolean            queryCommandEnabled(in [Optional=CallWithDefaultValue] DOMString command);
    141         boolean            queryCommandIndeterm(in [Optional=CallWithDefaultValue] DOMString command);
    142         boolean            queryCommandState(in [Optional=CallWithDefaultValue] DOMString command);
    143         boolean            queryCommandSupported(in [Optional=CallWithDefaultValue] DOMString command);
    144         [ConvertNullStringTo=False] DOMString queryCommandValue(in [Optional=CallWithDefaultValue] DOMString command);
     140        boolean            queryCommandEnabled(in [Optional=TreatAsUndefined] DOMString command);
     141        boolean            queryCommandIndeterm(in [Optional=TreatAsUndefined] DOMString command);
     142        boolean            queryCommandState(in [Optional=TreatAsUndefined] DOMString command);
     143        boolean            queryCommandSupported(in [Optional=TreatAsUndefined] DOMString command);
     144        [ConvertNullStringTo=False] DOMString queryCommandValue(in [Optional=TreatAsUndefined] DOMString command);
    145145
    146146        // Moved down from HTMLDocument
     
    173173        readonly attribute DOMString lastModified;
    174174
    175         NodeList getElementsByName(in [Optional=CallWithDefaultValue] DOMString elementName);
     175        NodeList getElementsByName(in [Optional=TreatAsUndefined] DOMString elementName);
    176176
    177177#if defined(ENABLE_MICRODATA) && ENABLE_MICRODATA
    178         NodeList getItems(in [TreatNullAs=NullString, TreatUndefinedAs=NullString, Optional=CallWithDefaultValue] DOMString typeNames);
     178        NodeList getItems(in [TreatNullAs=NullString, TreatUndefinedAs=NullString, Optional=TreatAsUndefined] DOMString typeNames);
    179179#endif
    180180
     
    189189        readonly attribute [ConvertNullStringTo=Undefined] DOMString readyState;
    190190
    191         Element            elementFromPoint(in [Optional=CallWithDefaultValue] long x,
    192                                             in [Optional=CallWithDefaultValue] long y);
    193         Range              caretRangeFromPoint(in [Optional=CallWithDefaultValue] long x,
    194                                                in [Optional=CallWithDefaultValue] long y);
     191        Element            elementFromPoint(in [Optional=TreatAsUndefined] long x,
     192                                            in [Optional=TreatAsUndefined] long y);
     193        Range              caretRangeFromPoint(in [Optional=TreatAsUndefined] long x,
     194                                               in [Optional=TreatAsUndefined] long y);
    195195
    196196        // Mozilla extensions
     
    231231
    232232        // HTML 5
    233         NodeList getElementsByClassName(in [Optional=CallWithDefaultValue] DOMString tagname);
     233        NodeList getElementsByClassName(in [Optional=TreatAsUndefined] DOMString tagname);
    234234
    235235        readonly attribute DOMString compatMode;
     
    326326
    327327#if defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS
    328         [ReturnNewObject, V8EnabledAtRuntime] Touch createTouch(in [Optional=CallWithDefaultValue] DOMWindow window,
    329                                                          in [Optional=CallWithDefaultValue] EventTarget target,
    330                                                          in [Optional=CallWithDefaultValue] long identifier,
    331                                                          in [Optional=CallWithDefaultValue] long pageX,
    332                                                          in [Optional=CallWithDefaultValue] long pageY,
    333                                                          in [Optional=CallWithDefaultValue] long screenX,
    334                                                          in [Optional=CallWithDefaultValue] long screenY,
    335                                                          in [Optional=CallWithDefaultValue] long webkitRadiusX,
    336                                                          in [Optional=CallWithDefaultValue] long webkitRadiusY,
    337                                                          in [Optional=CallWithDefaultValue] float webkitRotationAngle,
    338                                                          in [Optional=CallWithDefaultValue] float webkitForce)
     328        [ReturnNewObject, V8EnabledAtRuntime] Touch createTouch(in [Optional=TreatAsUndefined] DOMWindow window,
     329                                                         in [Optional=TreatAsUndefined] EventTarget target,
     330                                                         in [Optional=TreatAsUndefined] long identifier,
     331                                                         in [Optional=TreatAsUndefined] long pageX,
     332                                                         in [Optional=TreatAsUndefined] long pageY,
     333                                                         in [Optional=TreatAsUndefined] long screenX,
     334                                                         in [Optional=TreatAsUndefined] long screenY,
     335                                                         in [Optional=TreatAsUndefined] long webkitRadiusX,
     336                                                         in [Optional=TreatAsUndefined] long webkitRadiusY,
     337                                                         in [Optional=TreatAsUndefined] float webkitRotationAngle,
     338                                                         in [Optional=TreatAsUndefined] float webkitForce)
    339339            raises (DOMException);
    340340        [ReturnNewObject, V8EnabledAtRuntime, Custom] TouchList createTouchList()
  • trunk/Source/WebCore/dom/Element.idl

    r107041 r107182  
    3030        readonly attribute [ConvertNullStringTo=Null] DOMString tagName;
    3131
    32         [ConvertNullStringTo=Null] DOMString getAttribute(in [Optional=CallWithDefaultValue] DOMString name);
    33         [ObjCLegacyUnnamedParameters] void setAttribute(in [Optional=CallWithDefaultValue] DOMString name,
    34                                          in [Optional=CallWithDefaultValue] DOMString value)
    35             raises(DOMException);
    36         void removeAttribute(in [Optional=CallWithDefaultValue] DOMString name);
    37         Attr getAttributeNode(in [Optional=CallWithDefaultValue] DOMString name);
    38         Attr setAttributeNode(in [Optional=CallWithDefaultValue] Attr newAttr)
    39             raises(DOMException);
    40         Attr removeAttributeNode(in [Optional=CallWithDefaultValue] Attr oldAttr)
    41             raises(DOMException);
    42         NodeList getElementsByTagName(in [Optional=CallWithDefaultValue] DOMString name);
     32        [ConvertNullStringTo=Null] DOMString getAttribute(in [Optional=TreatAsUndefined] DOMString name);
     33        [ObjCLegacyUnnamedParameters] void setAttribute(in [Optional=TreatAsUndefined] DOMString name,
     34                                         in [Optional=TreatAsUndefined] DOMString value)
     35            raises(DOMException);
     36        void removeAttribute(in [Optional=TreatAsUndefined] DOMString name);
     37        Attr getAttributeNode(in [Optional=TreatAsUndefined] DOMString name);
     38        Attr setAttributeNode(in [Optional=TreatAsUndefined] Attr newAttr)
     39            raises(DOMException);
     40        Attr removeAttributeNode(in [Optional=TreatAsUndefined] Attr oldAttr)
     41            raises(DOMException);
     42        NodeList getElementsByTagName(in [Optional=TreatAsUndefined] DOMString name);
    4343
    4444        // DOM Level 2 Core
    4545
    46         [ObjCLegacyUnnamedParameters] DOMString getAttributeNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    47                                                 in [Optional=CallWithDefaultValue] DOMString localName);
    48         [ObjCLegacyUnnamedParameters] void setAttributeNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    49                                            in [Optional=CallWithDefaultValue] DOMString qualifiedName,
    50                                            in [Optional=CallWithDefaultValue] DOMString value)
     46        [ObjCLegacyUnnamedParameters] DOMString getAttributeNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     47                                                in [Optional=TreatAsUndefined] DOMString localName);
     48        [ObjCLegacyUnnamedParameters] void setAttributeNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     49                                           in [Optional=TreatAsUndefined] DOMString qualifiedName,
     50                                           in [Optional=TreatAsUndefined] DOMString value)
    5151            raises(DOMException);
    5252        [ObjCLegacyUnnamedParameters] void removeAttributeNS(in [TreatNullAs=NullString] DOMString namespaceURI,
    5353                                              in DOMString localName);
    54         [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    55                                                        in [Optional=CallWithDefaultValue] DOMString localName);
    56         [ObjCLegacyUnnamedParameters] Attr getAttributeNodeNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    57                                                in [Optional=CallWithDefaultValue] DOMString localName);
    58         Attr setAttributeNodeNS(in [Optional=CallWithDefaultValue] Attr newAttr)
     54        [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     55                                                       in [Optional=TreatAsUndefined] DOMString localName);
     56        [ObjCLegacyUnnamedParameters] Attr getAttributeNodeNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     57                                               in [Optional=TreatAsUndefined] DOMString localName);
     58        Attr setAttributeNodeNS(in [Optional=TreatAsUndefined] Attr newAttr)
    5959            raises(DOMException);
    6060        boolean hasAttribute(in DOMString name);
    61         [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    62                                               in [Optional=CallWithDefaultValue] DOMString localName);
     61        [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     62                                              in [Optional=TreatAsUndefined] DOMString localName);
    6363
    6464        readonly attribute CSSStyleDeclaration style;
     
    8787
    8888        void scrollIntoViewIfNeeded(in [Optional] boolean centerIfNeeded);
    89         void scrollByLines(in [Optional=CallWithDefaultValue] long lines);
    90         void scrollByPages(in [Optional=CallWithDefaultValue] long pages);
     89        void scrollByLines(in [Optional=TreatAsUndefined] long lines);
     90        void scrollByPages(in [Optional=TreatAsUndefined] long pages);
    9191
    9292#if defined(ENABLE_ANIMATION_API) && ENABLE_ANIMATION_API
     
    9595
    9696        // HTML 5
    97         NodeList getElementsByClassName(in [Optional=CallWithDefaultValue] DOMString name);
     97        NodeList getElementsByClassName(in [Optional=TreatAsUndefined] DOMString name);
    9898
    9999#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     
    108108
    109109        // WebKit extension, pending specification.
    110         boolean webkitMatchesSelector(in [Optional=CallWithDefaultValue] DOMString selectors)
     110        boolean webkitMatchesSelector(in [Optional=TreatAsUndefined] DOMString selectors)
    111111            raises(DOMException);
    112112
     
    131131#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
    132132        const unsigned short ALLOW_KEYBOARD_INPUT = 1;
    133         [V8EnabledAtRuntime] void webkitRequestFullScreen(in [Optional=CallWithDefaultValue] unsigned short flags);
     133        [V8EnabledAtRuntime] void webkitRequestFullScreen(in [Optional=TreatAsUndefined] unsigned short flags);
    134134#endif
    135135
  • trunk/Source/WebCore/dom/Event.idl

    r106737 r107182  
    6464        void               stopPropagation();
    6565        void               preventDefault();
    66         [ObjCLegacyUnnamedParameters] void initEvent(in [Optional=CallWithDefaultValue] DOMString eventTypeArg,
    67                                       in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    68                                       in [Optional=CallWithDefaultValue] boolean cancelableArg);
     66        [ObjCLegacyUnnamedParameters] void initEvent(in [Optional=TreatAsUndefined] DOMString eventTypeArg,
     67                                      in [Optional=TreatAsUndefined] boolean canBubbleArg,
     68                                      in [Optional=TreatAsUndefined] boolean cancelableArg);
    6969
    7070        // DOM Level 3 Additions.
  • trunk/Source/WebCore/dom/HashChangeEvent.idl

    r106644 r107182  
    2424        ConstructorTemplate=Event
    2525    ] HashChangeEvent : Event {
    26         void initHashChangeEvent(in [Optional=CallWithDefaultValue] DOMString type,
    27                                  in [Optional=CallWithDefaultValue] boolean canBubble,
    28                                  in [Optional=CallWithDefaultValue] boolean cancelable,
    29                                  in [Optional=CallWithDefaultValue] DOMString oldURL,
    30                                  in [Optional=CallWithDefaultValue] DOMString newURL);
     26        void initHashChangeEvent(in [Optional=TreatAsUndefined] DOMString type,
     27                                 in [Optional=TreatAsUndefined] boolean canBubble,
     28                                 in [Optional=TreatAsUndefined] boolean cancelable,
     29                                 in [Optional=TreatAsUndefined] DOMString oldURL,
     30                                 in [Optional=TreatAsUndefined] DOMString newURL);
    3131        readonly attribute [InitializedByEventConstructor] DOMString oldURL;
    3232        readonly attribute [InitializedByEventConstructor] DOMString newURL;
  • trunk/Source/WebCore/dom/KeyboardEvent.idl

    r91617 r107182  
    4141
    4242#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
    43         boolean getModifierState(in [Optional=CallWithDefaultValue] DOMString keyIdentifierArg);
     43        boolean getModifierState(in [Optional=TreatAsUndefined] DOMString keyIdentifierArg);
    4444#endif
    4545
    4646        // FIXME: this does not match the version in the DOM spec.
    47         void initKeyboardEvent(in [Optional=CallWithDefaultValue] DOMString type,
    48                                in [Optional=CallWithDefaultValue] boolean canBubble,
    49                                in [Optional=CallWithDefaultValue] boolean cancelable,
    50                                in [Optional=CallWithDefaultValue] DOMWindow view,
    51                                in [Optional=CallWithDefaultValue] DOMString keyIdentifier,
    52                                in [Optional=CallWithDefaultValue] unsigned long keyLocation,
    53                                in [Optional=CallWithDefaultValue] boolean ctrlKey,
    54                                in [Optional=CallWithDefaultValue] boolean altKey,
    55                                in [Optional=CallWithDefaultValue] boolean shiftKey,
    56                                in [Optional=CallWithDefaultValue] boolean metaKey,
    57                                in [Optional=CallWithDefaultValue] boolean altGraphKey);
     47        void initKeyboardEvent(in [Optional=TreatAsUndefined] DOMString type,
     48                               in [Optional=TreatAsUndefined] boolean canBubble,
     49                               in [Optional=TreatAsUndefined] boolean cancelable,
     50                               in [Optional=TreatAsUndefined] DOMWindow view,
     51                               in [Optional=TreatAsUndefined] DOMString keyIdentifier,
     52                               in [Optional=TreatAsUndefined] unsigned long keyLocation,
     53                               in [Optional=TreatAsUndefined] boolean ctrlKey,
     54                               in [Optional=TreatAsUndefined] boolean altKey,
     55                               in [Optional=TreatAsUndefined] boolean shiftKey,
     56                               in [Optional=TreatAsUndefined] boolean metaKey,
     57                               in [Optional=TreatAsUndefined] boolean altGraphKey);
    5858
    5959        // WebKit Extensions
     
    6262        readonly attribute long             charCode;
    6363       
    64         void initKeyboardEvent(in [Optional=CallWithDefaultValue] DOMString type,
    65                                in [Optional=CallWithDefaultValue] boolean canBubble,
    66                                in [Optional=CallWithDefaultValue] boolean cancelable,
    67                                in [Optional=CallWithDefaultValue] DOMWindow view,
    68                                in [Optional=CallWithDefaultValue] DOMString keyIdentifier,
    69                                in [Optional=CallWithDefaultValue] unsigned long keyLocation,
    70                                in [Optional=CallWithDefaultValue] boolean ctrlKey,
    71                                in [Optional=CallWithDefaultValue] boolean altKey,
    72                                in [Optional=CallWithDefaultValue] boolean shiftKey,
    73                                in [Optional=CallWithDefaultValue] boolean metaKey);
     64        void initKeyboardEvent(in [Optional=TreatAsUndefined] DOMString type,
     65                               in [Optional=TreatAsUndefined] boolean canBubble,
     66                               in [Optional=TreatAsUndefined] boolean cancelable,
     67                               in [Optional=TreatAsUndefined] DOMWindow view,
     68                               in [Optional=TreatAsUndefined] DOMString keyIdentifier,
     69                               in [Optional=TreatAsUndefined] unsigned long keyLocation,
     70                               in [Optional=TreatAsUndefined] boolean ctrlKey,
     71                               in [Optional=TreatAsUndefined] boolean altKey,
     72                               in [Optional=TreatAsUndefined] boolean shiftKey,
     73                               in [Optional=TreatAsUndefined] boolean metaKey);
    7474#endif
    7575
  • trunk/Source/WebCore/dom/MessageEvent.idl

    r106737 r107182  
    3939        readonly attribute [InitializedByEventConstructor, CustomGetter] Array ports;
    4040
    41         [Custom] void initMessageEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    42                                        in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    43                                        in [Optional=CallWithDefaultValue] boolean cancelableArg,
    44                                        in [Optional=CallWithDefaultValue] DOMObject dataArg,
    45                                        in [Optional=CallWithDefaultValue] DOMString originArg,
    46                                        in [Optional=CallWithDefaultValue] DOMString lastEventIdArg,
    47                                        in [Optional=CallWithDefaultValue] DOMWindow sourceArg,
    48                                        in [Optional=CallWithDefaultValue] Array messagePorts);
     41        [Custom] void initMessageEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     42                                       in [Optional=TreatAsUndefined] boolean canBubbleArg,
     43                                       in [Optional=TreatAsUndefined] boolean cancelableArg,
     44                                       in [Optional=TreatAsUndefined] DOMObject dataArg,
     45                                       in [Optional=TreatAsUndefined] DOMString originArg,
     46                                       in [Optional=TreatAsUndefined] DOMString lastEventIdArg,
     47                                       in [Optional=TreatAsUndefined] DOMWindow sourceArg,
     48                                       in [Optional=TreatAsUndefined] Array messagePorts);
    4949
    50         [Custom] void webkitInitMessageEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    51                                              in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    52                                              in [Optional=CallWithDefaultValue] boolean cancelableArg,
    53                                              in [Optional=CallWithDefaultValue] DOMObject dataArg,
    54                                              in [Optional=CallWithDefaultValue] DOMString originArg,
    55                                              in [Optional=CallWithDefaultValue] DOMString lastEventIdArg,
    56                                              in [Optional=CallWithDefaultValue] DOMWindow sourceArg,
    57                                              in [Optional=CallWithDefaultValue] Array transferables);
     50        [Custom] void webkitInitMessageEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     51                                             in [Optional=TreatAsUndefined] boolean canBubbleArg,
     52                                             in [Optional=TreatAsUndefined] boolean cancelableArg,
     53                                             in [Optional=TreatAsUndefined] DOMObject dataArg,
     54                                             in [Optional=TreatAsUndefined] DOMString originArg,
     55                                             in [Optional=TreatAsUndefined] DOMString lastEventIdArg,
     56                                             in [Optional=TreatAsUndefined] DOMWindow sourceArg,
     57                                             in [Optional=TreatAsUndefined] Array transferables);
    5858#else
    5959        // Code generator for ObjC bindings does not support custom bindings, thus there is no good way to
     
    6464        readonly attribute MessagePort messagePort;
    6565
    66         void initMessageEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    67                               in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    68                               in [Optional=CallWithDefaultValue] boolean cancelableArg,
    69                               in [Optional=CallWithDefaultValue] SerializedScriptValue dataArg,
    70                               in [Optional=CallWithDefaultValue] DOMString originArg,
    71                               in [Optional=CallWithDefaultValue] DOMString lastEventIdArg,
    72                               in [Optional=CallWithDefaultValue] DOMWindow sourceArg,
    73                               in [Optional=CallWithDefaultValue] MessagePort messagePort);
     66        void initMessageEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     67                              in [Optional=TreatAsUndefined] boolean canBubbleArg,
     68                              in [Optional=TreatAsUndefined] boolean cancelableArg,
     69                              in [Optional=TreatAsUndefined] SerializedScriptValue dataArg,
     70                              in [Optional=TreatAsUndefined] DOMString originArg,
     71                              in [Optional=TreatAsUndefined] DOMString lastEventIdArg,
     72                              in [Optional=TreatAsUndefined] DOMWindow sourceArg,
     73                              in [Optional=TreatAsUndefined] MessagePort messagePort);
    7474#endif
    7575
  • trunk/Source/WebCore/dom/MouseEvent.idl

    r106666 r107182  
    3535        readonly attribute EventTarget      relatedTarget;
    3636       
    37         [ObjCLegacyUnnamedParameters] void initMouseEvent(in [Optional=CallWithDefaultValue] DOMString type,
    38                                            in [Optional=CallWithDefaultValue] boolean canBubble,
    39                                            in [Optional=CallWithDefaultValue] boolean cancelable,
    40                                            in [Optional=CallWithDefaultValue] DOMWindow view,
    41                                            in [Optional=CallWithDefaultValue] long detail,
    42                                            in [Optional=CallWithDefaultValue] long screenX,
    43                                            in [Optional=CallWithDefaultValue] long screenY,
    44                                            in [Optional=CallWithDefaultValue] long clientX,
    45                                            in [Optional=CallWithDefaultValue] long clientY,
    46                                            in [Optional=CallWithDefaultValue] boolean ctrlKey,
    47                                            in [Optional=CallWithDefaultValue] boolean altKey,
    48                                            in [Optional=CallWithDefaultValue] boolean shiftKey,
    49                                            in [Optional=CallWithDefaultValue] boolean metaKey,
    50                                            in [Optional=CallWithDefaultValue] unsigned short button,
    51                                            in [Optional=CallWithDefaultValue] EventTarget relatedTarget);
     37        [ObjCLegacyUnnamedParameters] void initMouseEvent(in [Optional=TreatAsUndefined] DOMString type,
     38                                           in [Optional=TreatAsUndefined] boolean canBubble,
     39                                           in [Optional=TreatAsUndefined] boolean cancelable,
     40                                           in [Optional=TreatAsUndefined] DOMWindow view,
     41                                           in [Optional=TreatAsUndefined] long detail,
     42                                           in [Optional=TreatAsUndefined] long screenX,
     43                                           in [Optional=TreatAsUndefined] long screenY,
     44                                           in [Optional=TreatAsUndefined] long clientX,
     45                                           in [Optional=TreatAsUndefined] long clientY,
     46                                           in [Optional=TreatAsUndefined] boolean ctrlKey,
     47                                           in [Optional=TreatAsUndefined] boolean altKey,
     48                                           in [Optional=TreatAsUndefined] boolean shiftKey,
     49                                           in [Optional=TreatAsUndefined] boolean metaKey,
     50                                           in [Optional=TreatAsUndefined] unsigned short button,
     51                                           in [Optional=TreatAsUndefined] EventTarget relatedTarget);
    5252
    5353        // extensions
  • trunk/Source/WebCore/dom/MutationEvent.idl

    r106660 r107182  
    3434        readonly attribute unsigned short attrChange;
    3535
    36         [ObjCLegacyUnnamedParameters] void initMutationEvent(in [Optional=CallWithDefaultValue] DOMString type,
    37                                               in [Optional=CallWithDefaultValue] boolean canBubble,
    38                                               in [Optional=CallWithDefaultValue] boolean cancelable,
    39                                               in [Optional=CallWithDefaultValue] Node relatedNode,
    40                                               in [Optional=CallWithDefaultValue] DOMString prevValue,
    41                                               in [Optional=CallWithDefaultValue] DOMString newValue,
    42                                               in [Optional=CallWithDefaultValue] DOMString attrName,
    43                                               in [Optional=CallWithDefaultValue] unsigned short attrChange);
     36        [ObjCLegacyUnnamedParameters] void initMutationEvent(in [Optional=TreatAsUndefined] DOMString type,
     37                                              in [Optional=TreatAsUndefined] boolean canBubble,
     38                                              in [Optional=TreatAsUndefined] boolean cancelable,
     39                                              in [Optional=TreatAsUndefined] Node relatedNode,
     40                                              in [Optional=TreatAsUndefined] DOMString prevValue,
     41                                              in [Optional=TreatAsUndefined] DOMString newValue,
     42                                              in [Optional=TreatAsUndefined] DOMString attrName,
     43                                              in [Optional=TreatAsUndefined] unsigned short attrChange);
    4444
    4545    };
  • trunk/Source/WebCore/dom/NamedNodeMap.idl

    r106798 r107182  
    2828    ] NamedNodeMap {
    2929
    30         Node getNamedItem(in [Optional=CallWithDefaultValue] DOMString name);
     30        Node getNamedItem(in [Optional=TreatAsUndefined] DOMString name);
    3131
    32         Node setNamedItem(in [Optional=CallWithDefaultValue] Node node)
     32        Node setNamedItem(in [Optional=TreatAsUndefined] Node node)
    3333            raises(DOMException);
    3434
    35         Node removeNamedItem(in [Optional=CallWithDefaultValue] DOMString name)
     35        Node removeNamedItem(in [Optional=TreatAsUndefined] DOMString name)
    3636            raises(DOMException);
    3737
    38         Node item(in [Optional=CallWithDefaultValue] unsigned long index);
     38        Node item(in [Optional=TreatAsUndefined] unsigned long index);
    3939       
    4040        readonly attribute unsigned long length;
     
    4343        // Introduced in DOM Level 2:
    4444
    45         [ObjCLegacyUnnamedParameters] Node getNamedItemNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    46                                            in [Optional=CallWithDefaultValue] DOMString localName)
     45        [ObjCLegacyUnnamedParameters] Node getNamedItemNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     46                                           in [Optional=TreatAsUndefined] DOMString localName)
    4747            // FIXME: the implementation does take an exceptioncode parameter.
    4848            /*raises(DOMException)*/;
    4949
    50         Node setNamedItemNS(in [Optional=CallWithDefaultValue] Node node)
     50        Node setNamedItemNS(in [Optional=TreatAsUndefined] Node node)
    5151            raises(DOMException);
    5252
    53         [ObjCLegacyUnnamedParameters] Node removeNamedItemNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    54                                               in [Optional=CallWithDefaultValue] DOMString localName)
     53        [ObjCLegacyUnnamedParameters] Node removeNamedItemNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     54                                              in [Optional=TreatAsUndefined] DOMString localName)
    5555            raises(DOMException);
    5656
  • trunk/Source/WebCore/dom/Node.idl

    r107137 r107182  
    8080
    8181        boolean            hasChildNodes();
    82         Node               cloneNode(in [Optional=CallWithDefaultValue] boolean deep);
     82        Node               cloneNode(in [Optional=TreatAsUndefined] boolean deep);
    8383        void               normalize();
    8484
    8585        // Introduced in DOM Level 2:
    8686
    87         [ObjCLegacyUnnamedParameters] boolean isSupported(in [Optional=CallWithDefaultValue] DOMString feature,
    88                                            in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString version);
     87        [ObjCLegacyUnnamedParameters] boolean isSupported(in [Optional=TreatAsUndefined] DOMString feature,
     88                                           in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString version);
    8989
    9090        readonly attribute [ConvertNullStringTo=Null] DOMString        namespaceURI;
     
    103103                     setter raises(DOMException);
    104104
    105         boolean            isSameNode(in [Optional=CallWithDefaultValue] Node other);
    106         boolean            isEqualNode(in [Optional=CallWithDefaultValue] Node other);
    107         [ConvertNullStringTo=Null] DOMString          lookupPrefix(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI);
    108         boolean            isDefaultNamespace(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI);
    109         [ConvertNullStringTo=Null] DOMString          lookupNamespaceURI(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString prefix);
     105        boolean            isSameNode(in [Optional=TreatAsUndefined] Node other);
     106        boolean            isEqualNode(in [Optional=TreatAsUndefined] Node other);
     107        [ConvertNullStringTo=Null] DOMString          lookupPrefix(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI);
     108        boolean            isDefaultNamespace(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI);
     109        [ConvertNullStringTo=Null] DOMString          lookupNamespaceURI(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString prefix);
    110110
    111111        // DocumentPosition
     
    117117        const unsigned short      DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
    118118
    119         unsigned short     compareDocumentPosition(in [Optional=CallWithDefaultValue] Node other);
     119        unsigned short     compareDocumentPosition(in [Optional=TreatAsUndefined] Node other);
    120120
    121121        // Introduced in DOM4
    122         boolean contains(in [Optional=CallWithDefaultValue] Node other);
     122        boolean contains(in [Optional=TreatAsUndefined] Node other);
    123123
    124124#if 0
  • trunk/Source/WebCore/dom/NodeFilter.idl

    r106737 r107182  
    4848        const unsigned long       SHOW_NOTATION                  = 0x00000800;
    4949
    50         [CallWith=ScriptState] short acceptNode(in [Optional=CallWithDefaultValue] Node n);
     50        [CallWith=ScriptState] short acceptNode(in [Optional=TreatAsUndefined] Node n);
    5151
    5252    };
  • trunk/Source/WebCore/dom/NodeList.idl

    r106798 r107182  
    2727    ] NodeList {
    2828
    29         Node item(in [IsIndex,Optional=CallWithDefaultValue] unsigned long index);
     29        Node item(in [IsIndex,Optional=TreatAsUndefined] unsigned long index);
    3030
    3131        readonly attribute unsigned long length;
  • trunk/Source/WebCore/dom/OverflowEvent.idl

    r106644 r107182  
    3838
    3939#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
    40         void initOverflowEvent(in [Optional=CallWithDefaultValue] unsigned short orient,
    41                                in [Optional=CallWithDefaultValue] boolean horizontalOverflow,
    42                                in [Optional=CallWithDefaultValue] boolean verticalOverflow);
     40        void initOverflowEvent(in [Optional=TreatAsUndefined] unsigned short orient,
     41                               in [Optional=TreatAsUndefined] boolean horizontalOverflow,
     42                               in [Optional=TreatAsUndefined] boolean verticalOverflow);
    4343#endif
    4444    };
  • trunk/Source/WebCore/dom/Range.idl

    r106660 r107182  
    3737            getter raises(DOMException);
    3838
    39         [ObjCLegacyUnnamedParameters] void setStart(in [Optional=CallWithDefaultValue] Node refNode,
    40                                      in [Optional=CallWithDefaultValue] long offset)
     39        [ObjCLegacyUnnamedParameters] void setStart(in [Optional=TreatAsUndefined] Node refNode,
     40                                     in [Optional=TreatAsUndefined] long offset)
    4141            raises(RangeException, DOMException);
    42         [ObjCLegacyUnnamedParameters] void setEnd(in [Optional=CallWithDefaultValue] Node refNode,
    43                                    in [Optional=CallWithDefaultValue] long offset)
     42        [ObjCLegacyUnnamedParameters] void setEnd(in [Optional=TreatAsUndefined] Node refNode,
     43                                   in [Optional=TreatAsUndefined] long offset)
    4444            raises(RangeException, DOMException);
    45         void setStartBefore(in [Optional=CallWithDefaultValue] Node refNode)
     45        void setStartBefore(in [Optional=TreatAsUndefined] Node refNode)
    4646            raises(RangeException, DOMException);
    47         void setStartAfter(in [Optional=CallWithDefaultValue] Node refNode)
     47        void setStartAfter(in [Optional=TreatAsUndefined] Node refNode)
    4848            raises(RangeException, DOMException);
    49         void setEndBefore(in [Optional=CallWithDefaultValue] Node refNode)
     49        void setEndBefore(in [Optional=TreatAsUndefined] Node refNode)
    5050            raises(RangeException, DOMException);
    51         void setEndAfter(in [Optional=CallWithDefaultValue] Node refNode)
     51        void setEndAfter(in [Optional=TreatAsUndefined] Node refNode)
    5252            raises(RangeException, DOMException);
    53         void collapse(in [Optional=CallWithDefaultValue] boolean toStart)
     53        void collapse(in [Optional=TreatAsUndefined] boolean toStart)
    5454            raises(DOMException);
    55         void selectNode(in [Optional=CallWithDefaultValue] Node refNode)
     55        void selectNode(in [Optional=TreatAsUndefined] Node refNode)
    5656            raises(RangeException, DOMException);
    57         void selectNodeContents(in [Optional=CallWithDefaultValue] Node refNode)
     57        void selectNodeContents(in [Optional=TreatAsUndefined] Node refNode)
    5858            raises(RangeException, DOMException);
    5959
     
    6464        const unsigned short END_TO_START   = 3;
    6565
    66         [ObjCLegacyUnnamedParameters] short compareBoundaryPoints(in [Optional=CallWithDefaultValue] CompareHow how,
    67                                                    in [Optional=CallWithDefaultValue] Range sourceRange)
     66        [ObjCLegacyUnnamedParameters] short compareBoundaryPoints(in [Optional=TreatAsUndefined] CompareHow how,
     67                                                   in [Optional=TreatAsUndefined] Range sourceRange)
    6868            raises(DOMException);
    6969
     
    7474        DocumentFragment cloneContents()
    7575            raises(DOMException);
    76         void insertNode(in [Optional=CallWithDefaultValue] Node newNode)
     76        void insertNode(in [Optional=TreatAsUndefined] Node newNode)
    7777            raises(DOMException, RangeException);
    78         void surroundContents(in [Optional=CallWithDefaultValue] Node newParent)
     78        void surroundContents(in [Optional=TreatAsUndefined] Node newParent)
    7979            raises(DOMException, RangeException);
    8080        Range cloneRange()
     
    9595        // extensions
    9696
    97         DocumentFragment createContextualFragment(in [Optional=CallWithDefaultValue] DOMString html)
     97        DocumentFragment createContextualFragment(in [Optional=TreatAsUndefined] DOMString html)
    9898            raises(DOMException);
    9999
    100100        // WebKit extensions
    101101
    102         boolean intersectsNode(in [Optional=CallWithDefaultValue] Node refNode)
     102        boolean intersectsNode(in [Optional=TreatAsUndefined] Node refNode)
    103103            raises(RangeException, DOMException);
    104104
    105         short compareNode(in [Optional=CallWithDefaultValue] Node refNode)
     105        short compareNode(in [Optional=TreatAsUndefined] Node refNode)
    106106            raises(RangeException, DOMException);
    107107
     
    112112        const unsigned short NODE_INSIDE           = 3;
    113113
    114         short comparePoint(in [Optional=CallWithDefaultValue] Node refNode,
    115                            in [Optional=CallWithDefaultValue] long offset)
     114        short comparePoint(in [Optional=TreatAsUndefined] Node refNode,
     115                           in [Optional=TreatAsUndefined] long offset)
    116116            raises(RangeException, DOMException);
    117117
    118         boolean isPointInRange(in [Optional=CallWithDefaultValue] Node refNode,
    119                                in [Optional=CallWithDefaultValue] long offset)
     118        boolean isPointInRange(in [Optional=TreatAsUndefined] Node refNode,
     119                               in [Optional=TreatAsUndefined] long offset)
    120120            raises(RangeException, DOMException);
    121121
    122         void expand(in [Optional=CallWithDefaultValue] DOMString unit)
     122        void expand(in [Optional=TreatAsUndefined] DOMString unit)
    123123            raises(RangeException, DOMException);
    124124
  • trunk/Source/WebCore/dom/ShadowRoot.idl

    r106776 r107182  
    3434    ] ShadowRoot : DocumentFragment {
    3535        readonly attribute Element host;
    36         Element getElementById(in [Optional=CallWithDefaultValue] DOMString elementId);
    37         NodeList getElementsByClassName(in [Optional=CallWithDefaultValue] DOMString className);
    38         NodeList getElementsByTagName(in [Optional=CallWithDefaultValue] DOMString tagName);
    39         NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString namespaceURI,
    40                                         in [Optional=CallWithDefaultValue] DOMString localName);
     36        Element getElementById(in [Optional=TreatAsUndefined] DOMString elementId);
     37        NodeList getElementsByClassName(in [Optional=TreatAsUndefined] DOMString className);
     38        NodeList getElementsByTagName(in [Optional=TreatAsUndefined] DOMString tagName);
     39        NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString namespaceURI,
     40                                        in [Optional=TreatAsUndefined] DOMString localName);
    4141    };
    4242
  • trunk/Source/WebCore/dom/Text.idl

    r92433 r107182  
    2424        // DOM Level 1
    2525
    26         Text splitText(in [IsIndex,Optional=CallWithDefaultValue] unsigned long offset)
     26        Text splitText(in [IsIndex,Optional=TreatAsUndefined] unsigned long offset)
    2727            raises (DOMException);
    2828
    2929        // Introduced in DOM Level 3:
    3030        readonly attribute DOMString       wholeText;
    31         Text               replaceWholeText(in [Optional=CallWithDefaultValue] DOMString content)
     31        Text               replaceWholeText(in [Optional=TreatAsUndefined] DOMString content)
    3232                                            raises(DOMException);
    3333    };
  • trunk/Source/WebCore/dom/TextEvent.idl

    r91617 r107182  
    3131        readonly attribute DOMString data;
    3232
    33         void initTextEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    34                            in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    35                            in [Optional=CallWithDefaultValue] boolean cancelableArg,
    36                            in [Optional=CallWithDefaultValue] DOMWindow viewArg,
    37                            in [Optional=CallWithDefaultValue] DOMString dataArg);
     33        void initTextEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     34                           in [Optional=TreatAsUndefined] boolean canBubbleArg,
     35                           in [Optional=TreatAsUndefined] boolean cancelableArg,
     36                           in [Optional=TreatAsUndefined] DOMWindow viewArg,
     37                           in [Optional=TreatAsUndefined] DOMString dataArg);
    3838
    3939    };
  • trunk/Source/WebCore/dom/TouchEvent.idl

    r91617 r107182  
    3737        readonly attribute boolean metaKey;
    3838
    39         void initTouchEvent(in [Optional=CallWithDefaultValue] TouchList touches,
    40                             in [Optional=CallWithDefaultValue] TouchList targetTouches,
    41                             in [Optional=CallWithDefaultValue] TouchList changedTouches,
    42                             in [Optional=CallWithDefaultValue] DOMString type,
    43                             in [Optional=CallWithDefaultValue] DOMWindow view,
    44                             in [Optional=CallWithDefaultValue] long screenX,
    45                             in [Optional=CallWithDefaultValue] long screenY,
    46                             in [Optional=CallWithDefaultValue] long clientX,
    47                             in [Optional=CallWithDefaultValue] long clientY,
    48                             in [Optional=CallWithDefaultValue] boolean ctrlKey,
    49                             in [Optional=CallWithDefaultValue] boolean altKey,
    50                             in [Optional=CallWithDefaultValue] boolean shiftKey,
    51                             in [Optional=CallWithDefaultValue] boolean metaKey);
     39        void initTouchEvent(in [Optional=TreatAsUndefined] TouchList touches,
     40                            in [Optional=TreatAsUndefined] TouchList targetTouches,
     41                            in [Optional=TreatAsUndefined] TouchList changedTouches,
     42                            in [Optional=TreatAsUndefined] DOMString type,
     43                            in [Optional=TreatAsUndefined] DOMWindow view,
     44                            in [Optional=TreatAsUndefined] long screenX,
     45                            in [Optional=TreatAsUndefined] long screenY,
     46                            in [Optional=TreatAsUndefined] long clientX,
     47                            in [Optional=TreatAsUndefined] long clientY,
     48                            in [Optional=TreatAsUndefined] boolean ctrlKey,
     49                            in [Optional=TreatAsUndefined] boolean altKey,
     50                            in [Optional=TreatAsUndefined] boolean shiftKey,
     51                            in [Optional=TreatAsUndefined] boolean metaKey);
    5252    };
    5353}
  • trunk/Source/WebCore/dom/UIEvent.idl

    r106660 r107182  
    2525        readonly attribute long                 detail;
    2626       
    27         [ObjCLegacyUnnamedParameters] void initUIEvent(in [Optional=CallWithDefaultValue] DOMString type,
    28                                         in [Optional=CallWithDefaultValue] boolean canBubble,
    29                                         in [Optional=CallWithDefaultValue] boolean cancelable,
    30                                         in [Optional=CallWithDefaultValue] DOMWindow view,
    31                                         in [Optional=CallWithDefaultValue] long detail);
     27        [ObjCLegacyUnnamedParameters] void initUIEvent(in [Optional=TreatAsUndefined] DOMString type,
     28                                        in [Optional=TreatAsUndefined] boolean canBubble,
     29                                        in [Optional=TreatAsUndefined] boolean cancelable,
     30                                        in [Optional=TreatAsUndefined] DOMWindow view,
     31                                        in [Optional=TreatAsUndefined] long detail);
    3232
    3333        // extensions
  • trunk/Source/WebCore/dom/WheelEvent.idl

    r96613 r107182  
    4747
    4848#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
    49         void initWheelEvent(in [Optional=CallWithDefaultValue] long wheelDeltaX,
    50                             in [Optional=CallWithDefaultValue] long wheelDeltaY,
    51                             in [Optional=CallWithDefaultValue] DOMWindow view,
    52                             in [Optional=CallWithDefaultValue] long screenX,
    53                             in [Optional=CallWithDefaultValue] long screenY,
    54                             in [Optional=CallWithDefaultValue] long clientX,
    55                             in [Optional=CallWithDefaultValue] long clientY,
    56                             in [Optional=CallWithDefaultValue] boolean ctrlKey,
    57                             in [Optional=CallWithDefaultValue] boolean altKey,
    58                             in [Optional=CallWithDefaultValue] boolean shiftKey,
    59                             in [Optional=CallWithDefaultValue] boolean metaKey);
     49        void initWheelEvent(in [Optional=TreatAsUndefined] long wheelDeltaX,
     50                            in [Optional=TreatAsUndefined] long wheelDeltaY,
     51                            in [Optional=TreatAsUndefined] DOMWindow view,
     52                            in [Optional=TreatAsUndefined] long screenX,
     53                            in [Optional=TreatAsUndefined] long screenY,
     54                            in [Optional=TreatAsUndefined] long clientX,
     55                            in [Optional=TreatAsUndefined] long clientY,
     56                            in [Optional=TreatAsUndefined] boolean ctrlKey,
     57                            in [Optional=TreatAsUndefined] boolean altKey,
     58                            in [Optional=TreatAsUndefined] boolean shiftKey,
     59                            in [Optional=TreatAsUndefined] boolean metaKey);
    6060#endif /* !defined(LANGUAGE_JAVASCRIPT) */
    6161
    6262#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
    63         void initWebKitWheelEvent(in [Optional=CallWithDefaultValue] long wheelDeltaX,
    64                                   in [Optional=CallWithDefaultValue] long wheelDeltaY,
    65                                   in [Optional=CallWithDefaultValue] DOMWindow view,
    66                                   in [Optional=CallWithDefaultValue] long screenX,
    67                                   in [Optional=CallWithDefaultValue] long screenY,
    68                                   in [Optional=CallWithDefaultValue] long clientX,
    69                                   in [Optional=CallWithDefaultValue] long clientY,
    70                                   in [Optional=CallWithDefaultValue] boolean ctrlKey,
    71                                   in [Optional=CallWithDefaultValue] boolean altKey,
    72                                   in [Optional=CallWithDefaultValue] boolean shiftKey,
    73                                   in [Optional=CallWithDefaultValue] boolean metaKey);
     63        void initWebKitWheelEvent(in [Optional=TreatAsUndefined] long wheelDeltaX,
     64                                  in [Optional=TreatAsUndefined] long wheelDeltaY,
     65                                  in [Optional=TreatAsUndefined] DOMWindow view,
     66                                  in [Optional=TreatAsUndefined] long screenX,
     67                                  in [Optional=TreatAsUndefined] long screenY,
     68                                  in [Optional=TreatAsUndefined] long clientX,
     69                                  in [Optional=TreatAsUndefined] long clientY,
     70                                  in [Optional=TreatAsUndefined] boolean ctrlKey,
     71                                  in [Optional=TreatAsUndefined] boolean altKey,
     72                                  in [Optional=TreatAsUndefined] boolean shiftKey,
     73                                  in [Optional=TreatAsUndefined] boolean metaKey);
    7474#endif /* defined(LANGUAGE_JAVASCRIPT) */
    7575    };
  • trunk/Source/WebCore/html/DOMFormData.idl

    r107041 r107182  
    3838        // void append(DOMString name, DOMString value);
    3939        // void append(DOMString name, Blob value, optional DOMString filename);
    40         [Custom] void append(in [Optional=CallWithDefaultValue] DOMString name,
    41                              in [Optional=CallWithDefaultValue] DOMString value,
    42                              in [Optional=CallWithDefaultValue] DOMString filename);
     40        [Custom] void append(in [Optional=TreatAsUndefined] DOMString name,
     41                             in [Optional=TreatAsUndefined] DOMString value,
     42                             in [Optional=TreatAsUndefined] DOMString filename);
    4343    };
    4444
  • trunk/Source/WebCore/html/HTMLAllCollection.idl

    r106798 r107182  
    3434    ] HTMLAllCollection {
    3535        readonly attribute unsigned long length;
    36         [Custom] Node item(in [Optional=CallWithDefaultValue] unsigned long index);
     36        [Custom] Node item(in [Optional=TreatAsUndefined] unsigned long index);
    3737        [Custom] Node namedItem(in DOMString name);
    3838
  • trunk/Source/WebCore/html/HTMLAudioElement.idl

    r99750 r107182  
    2828        ActiveDOMObject,
    2929        Conditional=VIDEO,
    30         NamedConstructor=Audio(in [Optional=CallWithNullValue] DOMString src)
     30        NamedConstructor=Audio(in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString src)
    3131    ] HTMLAudioElement : HTMLMediaElement {
    3232    };
  • trunk/Source/WebCore/html/HTMLCanvasElement.idl

    r107041 r107182  
    3434        attribute long height;
    3535
    36         [Custom] DOMString toDataURL(in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString type)
     36        [Custom] DOMString toDataURL(in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString type)
    3737            raises(DOMException);
    3838
     
    4040#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
    4141        // The custom binding is needed to handle context creation attributes.
    42         [Custom] DOMObject getContext(in [Optional=CallWithDefaultValue] DOMString contextId);
     42        [Custom] DOMObject getContext(in [Optional=TreatAsUndefined] DOMString contextId);
    4343#endif
    4444#endif
  • trunk/Source/WebCore/html/HTMLCollection.idl

    r106798 r107182  
    2929    ] HTMLCollection {
    3030        readonly attribute unsigned long length;
    31         Node item(in [Optional=CallWithDefaultValue] unsigned long index);
    32         [Custom] Node namedItem(in [Optional=CallWithDefaultValue] DOMString name);
     31        Node item(in [Optional=TreatAsUndefined] unsigned long index);
     32        [Custom] Node namedItem(in [Optional=TreatAsUndefined] DOMString name);
    3333
    3434#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
    35         NodeList tags(in [Optional=CallWithDefaultValue] DOMString name);
     35        NodeList tags(in [Optional=TreatAsUndefined] DOMString name);
    3636#endif
    3737    };
  • trunk/Source/WebCore/html/HTMLDocument.idl

    r107039 r107182  
    2626        [JSCustom, V8Custom] void open();
    2727        void close();
    28         [Custom] void write(in [Optional=CallWithDefaultValue] DOMString text);
    29         [Custom] void writeln(in [Optional=CallWithDefaultValue] DOMString text);
     28        [Custom] void write(in [Optional=TreatAsUndefined] DOMString text);
     29        [Custom] void writeln(in [Optional=TreatAsUndefined] DOMString text);
    3030
    3131        readonly attribute HTMLCollection embeds;
  • trunk/Source/WebCore/html/HTMLElement.idl

    r107045 r107182  
    5050                     setter raises(DOMException);
    5151
    52         Element insertAdjacentElement(in [Optional=CallWithDefaultValue] DOMString where,
    53                                       in [Optional=CallWithDefaultValue] Element element)
     52        Element insertAdjacentElement(in [Optional=TreatAsUndefined] DOMString where,
     53                                      in [Optional=TreatAsUndefined] Element element)
    5454            raises(DOMException);
    55         void insertAdjacentHTML(in [Optional=CallWithDefaultValue] DOMString where,
    56                                 in [Optional=CallWithDefaultValue] DOMString html)
     55        void insertAdjacentHTML(in [Optional=TreatAsUndefined] DOMString where,
     56                                in [Optional=TreatAsUndefined] DOMString html)
    5757            raises(DOMException);
    58         void insertAdjacentText(in [Optional=CallWithDefaultValue] DOMString where,
    59                                 in [Optional=CallWithDefaultValue] DOMString text)
     58        void insertAdjacentText(in [Optional=TreatAsUndefined] DOMString where,
     59                                in [Optional=TreatAsUndefined] DOMString text)
    6060            raises(DOMException);
    6161
  • trunk/Source/WebCore/html/HTMLInputElement.idl

    r107148 r107182  
    9191        [Custom] void setSelectionRange(in long start, in long end);
    9292#else
    93         [Custom] void setSelectionRange(in [Optional=CallWithDefaultValue] long start,
    94                                         in [Optional=CallWithDefaultValue] long end,
     93        [Custom] void setSelectionRange(in [Optional=TreatAsUndefined] long start,
     94                                        in [Optional=TreatAsUndefined] long end,
    9595                                        in [Optional] DOMString direction);
    9696#endif
  • trunk/Source/WebCore/html/HTMLMediaElement.idl

    r107041 r107182  
    4747    void load()
    4848        raises (DOMException);
    49     DOMString canPlayType(in [Optional=CallWithDefaultValue] DOMString type);
     49    DOMString canPlayType(in [Optional=TreatAsUndefined] DOMString type);
    5050
    5151    // ready state
  • trunk/Source/WebCore/html/HTMLOptionElement.idl

    r107041 r107182  
    2323    interface [
    2424        JSGenerateToNativeObject,
    25         NamedConstructor=Option(in [Optional=CallWithNullValue] DOMString data, in [Optional=CallWithNullValue] DOMString value, in [Optional=CallWithDefaultValue] boolean defaultSelected, in [Optional=CallWithDefaultValue] boolean selected),
     25        NamedConstructor=Option(in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString data, in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString value, in [Optional=TreatAsUndefined] boolean defaultSelected, in [Optional=TreatAsUndefined] boolean selected),
    2626        ConstructorRaisesException
    2727    ] HTMLOptionElement : HTMLElement {
  • trunk/Source/WebCore/html/HTMLOptionsCollection.idl

    r107041 r107182  
    2929                        setter raises (DOMException);
    3030
    31         [Custom] void add(in [Optional=CallWithDefaultValue] HTMLOptionElement option,
     31        [Custom] void add(in [Optional=TreatAsUndefined] HTMLOptionElement option,
    3232                          in [Optional] unsigned long index)
    3333             raises (DOMException);
    34         [Custom] void remove(in [Optional=CallWithDefaultValue] unsigned long index);
     34        [Custom] void remove(in [Optional=TreatAsUndefined] unsigned long index);
    3535
    3636#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
  • trunk/Source/WebCore/html/HTMLSelectElement.idl

    r106798 r107182  
    5353        attribute long size;
    5454       
    55         [ObjCLegacyUnnamedParameters] void add(in [Optional=CallWithDefaultValue] HTMLElement element,
    56                                 in [Optional=CallWithDefaultValue] HTMLElement before) raises(DOMException);
     55        [ObjCLegacyUnnamedParameters] void add(in [Optional=TreatAsUndefined] HTMLElement element,
     56                                in [Optional=TreatAsUndefined] HTMLElement before) raises(DOMException);
    5757
    5858#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     
    6666        // These methods are not in DOM Level 2 IDL, but are mentioned in the standard:
    6767        // "The contained options can be directly accessed through the select element as a collection."
    68         Node item(in [IsIndex,Optional=CallWithDefaultValue] unsigned long index);
    69         Node namedItem(in [Optional=CallWithDefaultValue] DOMString name);
     68        Node item(in [IsIndex,Optional=TreatAsUndefined] unsigned long index);
     69        Node namedItem(in [Optional=TreatAsUndefined] DOMString name);
    7070        readonly attribute NodeList labels;
    7171    };
  • trunk/Source/WebCore/html/HTMLTableElement.idl

    r92327 r107182  
    4747        void deleteCaption();
    4848
    49         HTMLElement insertRow(in [Optional=CallWithDefaultValue] long index) raises(DOMException);
    50         void deleteRow(in [Optional=CallWithDefaultValue] long index) raises(DOMException);
     49        HTMLElement insertRow(in [Optional=TreatAsUndefined] long index) raises(DOMException);
     50        void deleteRow(in [Optional=TreatAsUndefined] long index) raises(DOMException);
    5151    };
    5252
  • trunk/Source/WebCore/html/HTMLTableRowElement.idl

    r92327 r107182  
    3030        attribute [Reflect=charoff] DOMString chOff;
    3131        attribute [Reflect] DOMString vAlign;
    32         HTMLElement insertCell(in [Optional=CallWithDefaultValue] long index) raises(DOMException);
    33         void deleteCell(in [Optional=CallWithDefaultValue] long index) raises(DOMException);
     32        HTMLElement insertCell(in [Optional=TreatAsUndefined] long index) raises(DOMException);
     33        void deleteCell(in [Optional=TreatAsUndefined] long index) raises(DOMException);
    3434    };
    3535
  • trunk/Source/WebCore/html/HTMLTableSectionElement.idl

    r107041 r107182  
    2929        attribute [Reflect] DOMString vAlign;
    3030        readonly attribute HTMLCollection rows;
    31         HTMLElement insertRow(in [Optional=CallWithDefaultValue] long index) raises(DOMException);
    32         void deleteRow(in [Optional=CallWithDefaultValue] long index) raises(DOMException);
     31        HTMLElement insertRow(in [Optional=TreatAsUndefined] long index) raises(DOMException);
     32        void deleteRow(in [Optional=TreatAsUndefined] long index) raises(DOMException);
    3333    };
    3434
  • trunk/Source/WebCore/html/HTMLTextAreaElement.idl

    r106776 r107182  
    5555        void setSelectionRange(in long start, in long end);
    5656#else
    57         void setSelectionRange(in [Optional=CallWithDefaultValue] long start,
    58                                in [Optional=CallWithDefaultValue] long end,
     57        void setSelectionRange(in [Optional=TreatAsUndefined] long start,
     58                               in [Optional=TreatAsUndefined] long end,
    5959                               in [Optional] DOMString direction);
    6060#endif
  • trunk/Source/WebCore/html/TextTrackCue.idl

    r107041 r107182  
    3030        V8EnabledAtRuntime=webkitVideoTrack,
    3131        JSGenerateToNativeObject,
    32         Constructor(in DOMString id, in double startTime, in double endTime, in DOMString text, in [Optional=CallWithDefaultValue] DOMString settings, in [Optional=CallWithDefaultValue] boolean pauseOnExit),
     32        Constructor(in DOMString id, in double startTime, in double endTime, in DOMString text, in [Optional=TreatAsUndefined] DOMString settings, in [Optional=TreatAsUndefined] boolean pauseOnExit),
    3333        CallWith=ScriptExecutionContext,
    3434        EventTarget,
  • trunk/Source/WebCore/html/canvas/CanvasGradient.idl

    r106526 r107182  
    2828    interface CanvasGradient {
    2929
    30         void addColorStop(in [Optional=CallWithDefaultValue] float offset,
    31                           in [Optional=CallWithDefaultValue] DOMString color)
     30        void addColorStop(in [Optional=TreatAsUndefined] float offset,
     31                          in [Optional=TreatAsUndefined] DOMString color)
    3232            raises (DOMException);
    3333
  • trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl

    r106776 r107182  
    3131        void restore();
    3232
    33         void scale(in [Optional=CallWithDefaultValue] float sx,
    34                    in [Optional=CallWithDefaultValue] float sy);
    35         void rotate(in [Optional=CallWithDefaultValue] float angle);
    36         void translate(in [Optional=CallWithDefaultValue] float tx,
    37                        in [Optional=CallWithDefaultValue] float ty);
    38         void transform(in [Optional=CallWithDefaultValue] float m11,
    39                        in [Optional=CallWithDefaultValue] float m12,
    40                        in [Optional=CallWithDefaultValue] float m21,
    41                        in [Optional=CallWithDefaultValue] float m22,
    42                        in [Optional=CallWithDefaultValue] float dx,
    43                        in [Optional=CallWithDefaultValue] float dy);
    44         void setTransform(in [Optional=CallWithDefaultValue] float m11,
    45                           in [Optional=CallWithDefaultValue] float m12,
    46                           in [Optional=CallWithDefaultValue] float m21,
    47                           in [Optional=CallWithDefaultValue] float m22,
    48                           in [Optional=CallWithDefaultValue] float dx,
    49                           in [Optional=CallWithDefaultValue] float dy);
     33        void scale(in [Optional=TreatAsUndefined] float sx,
     34                   in [Optional=TreatAsUndefined] float sy);
     35        void rotate(in [Optional=TreatAsUndefined] float angle);
     36        void translate(in [Optional=TreatAsUndefined] float tx,
     37                       in [Optional=TreatAsUndefined] float ty);
     38        void transform(in [Optional=TreatAsUndefined] float m11,
     39                       in [Optional=TreatAsUndefined] float m12,
     40                       in [Optional=TreatAsUndefined] float m21,
     41                       in [Optional=TreatAsUndefined] float m22,
     42                       in [Optional=TreatAsUndefined] float dx,
     43                       in [Optional=TreatAsUndefined] float dy);
     44        void setTransform(in [Optional=TreatAsUndefined] float m11,
     45                          in [Optional=TreatAsUndefined] float m12,
     46                          in [Optional=TreatAsUndefined] float m21,
     47                          in [Optional=TreatAsUndefined] float m22,
     48                          in [Optional=TreatAsUndefined] float dx,
     49                          in [Optional=TreatAsUndefined] float dy);
    5050
    5151        attribute float globalAlpha;
    5252        attribute [TreatNullAs=NullString] DOMString globalCompositeOperation;
    5353
    54         CanvasGradient createLinearGradient(in [Optional=CallWithDefaultValue] float x0,
    55                                             in [Optional=CallWithDefaultValue] float y0,
    56                                             in [Optional=CallWithDefaultValue] float x1,
    57                                             in [Optional=CallWithDefaultValue] float y1)
    58             raises (DOMException);
    59         CanvasGradient createRadialGradient(in [Optional=CallWithDefaultValue] float x0,
    60                                             in [Optional=CallWithDefaultValue] float y0,
    61                                             in [Optional=CallWithDefaultValue] float r0,
    62                                             in [Optional=CallWithDefaultValue] float x1,
    63                                             in [Optional=CallWithDefaultValue] float y1,
    64                                             in [Optional=CallWithDefaultValue] float r1)
     54        CanvasGradient createLinearGradient(in [Optional=TreatAsUndefined] float x0,
     55                                            in [Optional=TreatAsUndefined] float y0,
     56                                            in [Optional=TreatAsUndefined] float x1,
     57                                            in [Optional=TreatAsUndefined] float y1)
     58            raises (DOMException);
     59        CanvasGradient createRadialGradient(in [Optional=TreatAsUndefined] float x0,
     60                                            in [Optional=TreatAsUndefined] float y0,
     61                                            in [Optional=TreatAsUndefined] float r0,
     62                                            in [Optional=TreatAsUndefined] float x1,
     63                                            in [Optional=TreatAsUndefined] float y1,
     64                                            in [Optional=TreatAsUndefined] float r1)
    6565            raises (DOMException);
    6666
     
    8181#endif
    8282
    83         void clearRect(in [Optional=CallWithDefaultValue] float x,
    84                        in [Optional=CallWithDefaultValue] float y,
    85                        in [Optional=CallWithDefaultValue] float width,
    86                        in [Optional=CallWithDefaultValue] float height);
    87         void fillRect(in [Optional=CallWithDefaultValue] float x,
    88                       in [Optional=CallWithDefaultValue] float y,
    89                       in [Optional=CallWithDefaultValue] float width,
    90                       in [Optional=CallWithDefaultValue] float height);
     83        void clearRect(in [Optional=TreatAsUndefined] float x,
     84                       in [Optional=TreatAsUndefined] float y,
     85                       in [Optional=TreatAsUndefined] float width,
     86                       in [Optional=TreatAsUndefined] float height);
     87        void fillRect(in [Optional=TreatAsUndefined] float x,
     88                      in [Optional=TreatAsUndefined] float y,
     89                      in [Optional=TreatAsUndefined] float width,
     90                      in [Optional=TreatAsUndefined] float height);
    9191
    9292        void beginPath();
    9393        void closePath();
    94         void moveTo(in [Optional=CallWithDefaultValue] float x,
    95                     in [Optional=CallWithDefaultValue] float y);
    96         void lineTo(in [Optional=CallWithDefaultValue] float x,
    97                     in [Optional=CallWithDefaultValue] float y);
    98         void quadraticCurveTo(in [Optional=CallWithDefaultValue] float cpx,
    99                               in [Optional=CallWithDefaultValue] float cpy,
    100                               in [Optional=CallWithDefaultValue] float x,
    101                               in [Optional=CallWithDefaultValue] float y);
    102         void bezierCurveTo(in [Optional=CallWithDefaultValue] float cp1x,
    103                            in [Optional=CallWithDefaultValue] float cp1y,
    104                            in [Optional=CallWithDefaultValue] float cp2x,
    105                            in [Optional=CallWithDefaultValue] float cp2y,
    106                            in [Optional=CallWithDefaultValue] float x,
    107                            in [Optional=CallWithDefaultValue] float y);
    108         void arcTo(in [Optional=CallWithDefaultValue] float x1,
    109                    in [Optional=CallWithDefaultValue] float y1,
    110                    in [Optional=CallWithDefaultValue] float x2,
    111                    in [Optional=CallWithDefaultValue] float y2,
    112                    in [Optional=CallWithDefaultValue] float radius)
    113             raises (DOMException);
    114         void rect(in [Optional=CallWithDefaultValue] float x,
    115                   in [Optional=CallWithDefaultValue] float y,
    116                   in [Optional=CallWithDefaultValue] float width,
    117                   in [Optional=CallWithDefaultValue] float height);
    118         void arc(in [Optional=CallWithDefaultValue] float x,
    119                  in [Optional=CallWithDefaultValue] float y,
    120                  in [Optional=CallWithDefaultValue] float radius,
    121                  in [Optional=CallWithDefaultValue] float startAngle,
    122                  in [Optional=CallWithDefaultValue] float endAngle,
    123                  in [Optional=CallWithDefaultValue] boolean anticlockwise)
     94        void moveTo(in [Optional=TreatAsUndefined] float x,
     95                    in [Optional=TreatAsUndefined] float y);
     96        void lineTo(in [Optional=TreatAsUndefined] float x,
     97                    in [Optional=TreatAsUndefined] float y);
     98        void quadraticCurveTo(in [Optional=TreatAsUndefined] float cpx,
     99                              in [Optional=TreatAsUndefined] float cpy,
     100                              in [Optional=TreatAsUndefined] float x,
     101                              in [Optional=TreatAsUndefined] float y);
     102        void bezierCurveTo(in [Optional=TreatAsUndefined] float cp1x,
     103                           in [Optional=TreatAsUndefined] float cp1y,
     104                           in [Optional=TreatAsUndefined] float cp2x,
     105                           in [Optional=TreatAsUndefined] float cp2y,
     106                           in [Optional=TreatAsUndefined] float x,
     107                           in [Optional=TreatAsUndefined] float y);
     108        void arcTo(in [Optional=TreatAsUndefined] float x1,
     109                   in [Optional=TreatAsUndefined] float y1,
     110                   in [Optional=TreatAsUndefined] float x2,
     111                   in [Optional=TreatAsUndefined] float y2,
     112                   in [Optional=TreatAsUndefined] float radius)
     113            raises (DOMException);
     114        void rect(in [Optional=TreatAsUndefined] float x,
     115                  in [Optional=TreatAsUndefined] float y,
     116                  in [Optional=TreatAsUndefined] float width,
     117                  in [Optional=TreatAsUndefined] float height);
     118        void arc(in [Optional=TreatAsUndefined] float x,
     119                 in [Optional=TreatAsUndefined] float y,
     120                 in [Optional=TreatAsUndefined] float radius,
     121                 in [Optional=TreatAsUndefined] float startAngle,
     122                 in [Optional=TreatAsUndefined] float endAngle,
     123                 in [Optional=TreatAsUndefined] boolean anticlockwise)
    124124            raises (DOMException);
    125125        void fill();
    126126        void stroke();
    127127        void clip();
    128         boolean isPointInPath(in [Optional=CallWithDefaultValue] float x,
    129                               in [Optional=CallWithDefaultValue] float y);
     128        boolean isPointInPath(in [Optional=TreatAsUndefined] float x,
     129                              in [Optional=TreatAsUndefined] float y);
    130130
    131131        // text
     
    134134        attribute DOMString textBaseline;
    135135
    136         TextMetrics measureText(in [Optional=CallWithDefaultValue] DOMString text);
     136        TextMetrics measureText(in [Optional=TreatAsUndefined] DOMString text);
    137137
    138138        // other
    139139
    140         void setAlpha(in [Optional=CallWithDefaultValue] float alpha);
    141         void setCompositeOperation(in [Optional=CallWithDefaultValue] DOMString compositeOperation);
     140        void setAlpha(in [Optional=TreatAsUndefined] float alpha);
     141        void setCompositeOperation(in [Optional=TreatAsUndefined] DOMString compositeOperation);
    142142
    143143#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    144         void setLineWidth(in [Optional=CallWithDefaultValue] float width);
    145         void setLineCap(in [Optional=CallWithDefaultValue] DOMString cap);
    146         void setLineJoin(in [Optional=CallWithDefaultValue] DOMString join);
    147         void setMiterLimit(in [Optional=CallWithDefaultValue] float limit);
     144        void setLineWidth(in [Optional=TreatAsUndefined] float width);
     145        void setLineCap(in [Optional=TreatAsUndefined] DOMString cap);
     146        void setLineJoin(in [Optional=TreatAsUndefined] DOMString join);
     147        void setMiterLimit(in [Optional=TreatAsUndefined] float limit);
    148148#endif
    149149
     
    163163        void setFillColor(in float c, in float m, in float y, in float k, in float a);
    164164
    165         void strokeRect(in [Optional=CallWithDefaultValue] float x,
    166                         in [Optional=CallWithDefaultValue] float y,
    167                         in [Optional=CallWithDefaultValue] float width,
    168                         in [Optional=CallWithDefaultValue] float height,
     165        void strokeRect(in [Optional=TreatAsUndefined] float x,
     166                        in [Optional=TreatAsUndefined] float y,
     167                        in [Optional=TreatAsUndefined] float width,
     168                        in [Optional=TreatAsUndefined] float height,
    169169                        in [Optional] float lineWidth);
    170170
     
    218218
    219219        // pixel manipulation
    220         ImageData getImageData(in [Optional=CallWithDefaultValue] float sx, in [Optional=CallWithDefaultValue] float sy,
    221                                in [Optional=CallWithDefaultValue] float sw, in [Optional=CallWithDefaultValue] float sh)
     220        ImageData getImageData(in [Optional=TreatAsUndefined] float sx, in [Optional=TreatAsUndefined] float sy,
     221                               in [Optional=TreatAsUndefined] float sw, in [Optional=TreatAsUndefined] float sh)
    222222            raises(DOMException);
    223223    };
  • trunk/Source/WebCore/html/canvas/Float32Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Float32Array subarray(in [Optional=CallWithDefaultValue] long start,
     40        Float32Array subarray(in [Optional=TreatAsUndefined] long start,
    4141                              in [Optional] long end);
    4242
  • trunk/Source/WebCore/html/canvas/Float64Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Float64Array subarray(in [Optional=CallWithDefaultValue] long start,
     40        Float64Array subarray(in [Optional=TreatAsUndefined] long start,
    4141                              in [Optional] long end);
    4242
  • trunk/Source/WebCore/html/canvas/Int16Array.idl

    r107181 r107182  
    3737
    3838        readonly attribute unsigned long length;
    39         Int16Array subarray(in [Optional=CallWithDefaultValue] long start,
     39        Int16Array subarray(in [Optional=TreatAsUndefined] long start,
    4040                            in [Optional] long end);
    4141
  • trunk/Source/WebCore/html/canvas/Int32Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Int32Array subarray(in [Optional=CallWithDefaultValue] long start,
     40        Int32Array subarray(in [Optional=TreatAsUndefined] long start,
    4141                            in [Optional] long end);
    4242
  • trunk/Source/WebCore/html/canvas/Int8Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Int8Array subarray(in [Optional=CallWithDefaultValue] long start,
     40        Int8Array subarray(in [Optional=TreatAsUndefined] long start,
    4141                           in [Optional] long end);
    4242
  • trunk/Source/WebCore/html/canvas/OESVertexArrayObject.idl

    r106892 r107182  
    3434       
    3535        [StrictTypeChecking] WebGLVertexArrayObjectOES createVertexArrayOES();
    36         [StrictTypeChecking] void         deleteVertexArrayOES(in [Optional=CallWithDefaultValue] WebGLVertexArrayObjectOES arrayObject);
    37         [StrictTypeChecking] boolean      isVertexArrayOES(in [Optional=CallWithDefaultValue] WebGLVertexArrayObjectOES arrayObject);
    38         [StrictTypeChecking] void         bindVertexArrayOES(in [Optional=CallWithDefaultValue] WebGLVertexArrayObjectOES arrayObject) raises(DOMException);
     36        [StrictTypeChecking] void         deleteVertexArrayOES(in [Optional=TreatAsUndefined] WebGLVertexArrayObjectOES arrayObject);
     37        [StrictTypeChecking] boolean      isVertexArrayOES(in [Optional=TreatAsUndefined] WebGLVertexArrayObjectOES arrayObject);
     38        [StrictTypeChecking] void         bindVertexArrayOES(in [Optional=TreatAsUndefined] WebGLVertexArrayObjectOES arrayObject) raises(DOMException);
    3939    };
    4040}
  • trunk/Source/WebCore/html/canvas/Uint16Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Uint16Array subarray(in [Optional=CallWithDefaultValue] long start, in [Optional] long end);
     40        Uint16Array subarray(in [Optional=TreatAsUndefined] long start, in [Optional] long end);
    4141
    4242        // void set(in Uint16Array array, [Optional] in unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint32Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Uint32Array subarray(in [Optional=CallWithDefaultValue] long start, in [Optional] long end);
     40        Uint32Array subarray(in [Optional=TreatAsUndefined] long start, in [Optional] long end);
    4141
    4242        // void set(in Uint32Array array, [Optional] in unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint8Array.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Uint8Array subarray(in [Optional=CallWithDefaultValue] long start, in [Optional] long end);
     40        Uint8Array subarray(in [Optional=TreatAsUndefined] long start, in [Optional] long end);
    4141
    4242        // void set(in Uint8Array array, [Optional] in unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint8ClampedArray.idl

    r107181 r107182  
    3838
    3939        readonly attribute unsigned long length;
    40         Uint8ClampedArray subarray(in [Optional=CallWithDefaultValue] long start, in [Optional] long end);
     40        Uint8ClampedArray subarray(in [Optional=TreatAsUndefined] long start, in [Optional] long end);
    4141
    4242        // FIXME: Missing other setters!
  • trunk/Source/WebCore/page/Console.idl

    r106892 r107182  
    5252#endif
    5353
    54         void time(in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString title);
     54        void time(in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString title);
    5555        [CustomArgumentHandling] void timeEnd(in [TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString title);
    5656        [CustomArgumentHandling] void timeStamp();
  • trunk/Source/WebCore/page/DOMSelection.idl

    r106737 r107182  
    4444        readonly attribute long rangeCount;
    4545
    46         void collapse(in [Optional=CallWithDefaultValue] Node node,
    47                       in [Optional=CallWithDefaultValue] long index)
     46        void collapse(in [Optional=TreatAsUndefined] Node node,
     47                      in [Optional=TreatAsUndefined] long index)
    4848            raises(DOMException);
    4949        void collapseToEnd()
     
    5353
    5454        void deleteFromDocument();
    55         boolean containsNode(in [Optional=CallWithDefaultValue] Node node,
    56                              in [Optional=CallWithDefaultValue] boolean allowPartial);
    57         void selectAllChildren(in [Optional=CallWithDefaultValue] Node node)
     55        boolean containsNode(in [Optional=TreatAsUndefined] Node node,
     56                             in [Optional=TreatAsUndefined] boolean allowPartial);
     57        void selectAllChildren(in [Optional=TreatAsUndefined] Node node)
    5858            raises(DOMException);
    5959
    60         void extend(in [Optional=CallWithDefaultValue] Node node,
    61                     in [Optional=CallWithDefaultValue] long offset)
     60        void extend(in [Optional=TreatAsUndefined] Node node,
     61                    in [Optional=TreatAsUndefined] long offset)
    6262            raises(DOMException);
    6363
    64         Range getRangeAt(in [Optional=CallWithDefaultValue] long index)
     64        Range getRangeAt(in [Optional=TreatAsUndefined] long index)
    6565            raises(DOMException);
    6666        void removeAllRanges();
    67         void addRange(in [Optional=CallWithDefaultValue] Range range);
     67        void addRange(in [Optional=TreatAsUndefined] Range range);
    6868
    6969#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     
    8181        readonly attribute DOMString type;
    8282
    83         void modify(in [Optional=CallWithDefaultValue] DOMString alter,
    84                     in [Optional=CallWithDefaultValue] DOMString direction,
    85                     in [Optional=CallWithDefaultValue] DOMString granularity);
    86         void setBaseAndExtent(in [Optional=CallWithDefaultValue] Node baseNode,
    87                               in [Optional=CallWithDefaultValue] long baseOffset,
    88                               in [Optional=CallWithDefaultValue] Node extentNode,
    89                               in [Optional=CallWithDefaultValue] long extentOffset)
     83        void modify(in [Optional=TreatAsUndefined] DOMString alter,
     84                    in [Optional=TreatAsUndefined] DOMString direction,
     85                    in [Optional=TreatAsUndefined] DOMString granularity);
     86        void setBaseAndExtent(in [Optional=TreatAsUndefined] Node baseNode,
     87                              in [Optional=TreatAsUndefined] long baseOffset,
     88                              in [Optional=TreatAsUndefined] Node extentNode,
     89                              in [Optional=TreatAsUndefined] long extentOffset)
    9090            raises(DOMException);
    91         void setPosition(in [Optional=CallWithDefaultValue] Node node,
    92                          in [Optional=CallWithDefaultValue] long offset)
     91        void setPosition(in [Optional=TreatAsUndefined] Node node,
     92                         in [Optional=TreatAsUndefined] long offset)
    9393            raises(DOMException);
    9494
  • trunk/Source/WebCore/page/DOMWindow.idl

    r107082 r107182  
    7878                                           in [Optional] DOMString featureArgs);
    7979
    80         void alert(in [Optional=CallWithDefaultValue] DOMString message);
    81         boolean confirm(in [Optional=CallWithDefaultValue] DOMString message);
    82         [ConvertNullStringTo=Null] DOMString prompt(in [Optional=CallWithDefaultValue] DOMString message,
    83                                                     in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString defaultValue);
    84 
    85         boolean find(in [Optional=CallWithDefaultValue] DOMString string,
    86                      in [Optional=CallWithDefaultValue] boolean caseSensitive,
    87                      in [Optional=CallWithDefaultValue] boolean backwards,
    88                      in [Optional=CallWithDefaultValue] boolean wrap,
    89                      in [Optional=CallWithDefaultValue] boolean wholeWord,
    90                      in [Optional=CallWithDefaultValue] boolean searchInFrames,
    91                      in [Optional=CallWithDefaultValue] boolean showDialog);
     80        void alert(in [Optional=TreatAsUndefined] DOMString message);
     81        boolean confirm(in [Optional=TreatAsUndefined] DOMString message);
     82        [ConvertNullStringTo=Null] DOMString prompt(in [Optional=TreatAsUndefined] DOMString message,
     83                                                    in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString defaultValue);
     84
     85        boolean find(in [Optional=TreatAsUndefined] DOMString string,
     86                     in [Optional=TreatAsUndefined] boolean caseSensitive,
     87                     in [Optional=TreatAsUndefined] boolean backwards,
     88                     in [Optional=TreatAsUndefined] boolean wrap,
     89                     in [Optional=TreatAsUndefined] boolean wholeWord,
     90                     in [Optional=TreatAsUndefined] boolean searchInFrames,
     91                     in [Optional=TreatAsUndefined] boolean showDialog);
    9292
    9393        attribute [Replaceable] boolean offscreenBuffering;
     
    106106        readonly attribute long pageYOffset;
    107107
    108         void scrollBy(in [Optional=CallWithDefaultValue] long x, in [Optional=CallWithDefaultValue] long y);
    109         void scrollTo(in [Optional=CallWithDefaultValue] long x, in [Optional=CallWithDefaultValue] long y);
    110         void scroll(in [Optional=CallWithDefaultValue] long x, in [Optional=CallWithDefaultValue] long y);
    111         void moveBy(in [Optional=CallWithDefaultValue] float x, in [Optional=CallWithDefaultValue] float y); // FIXME: this should take longs not floats.
    112         void moveTo(in [Optional=CallWithDefaultValue] float x, in [Optional=CallWithDefaultValue] float y); // FIXME: this should take longs not floats.
    113         void resizeBy(in [Optional=CallWithDefaultValue] float x, in [Optional=CallWithDefaultValue] float y); // FIXME: this should take longs not floats.
    114         void resizeTo(in [Optional=CallWithDefaultValue] float width, in [Optional=CallWithDefaultValue] float height); // FIXME: this should take longs not floats.
     108        void scrollBy(in [Optional=TreatAsUndefined] long x, in [Optional=TreatAsUndefined] long y);
     109        void scrollTo(in [Optional=TreatAsUndefined] long x, in [Optional=TreatAsUndefined] long y);
     110        void scroll(in [Optional=TreatAsUndefined] long x, in [Optional=TreatAsUndefined] long y);
     111        void moveBy(in [Optional=TreatAsUndefined] float x, in [Optional=TreatAsUndefined] float y); // FIXME: this should take longs not floats.
     112        void moveTo(in [Optional=TreatAsUndefined] float x, in [Optional=TreatAsUndefined] float y); // FIXME: this should take longs not floats.
     113        void resizeBy(in [Optional=TreatAsUndefined] float x, in [Optional=TreatAsUndefined] float y); // FIXME: this should take longs not floats.
     114        void resizeTo(in [Optional=TreatAsUndefined] float width, in [Optional=TreatAsUndefined] float height); // FIXME: this should take longs not floats.
    115115
    116116        readonly attribute [DoNotCheckDomainSecurity] boolean closed;
     
    146146
    147147        // DOM Level 2 Style Interface
    148         CSSStyleDeclaration getComputedStyle(in [Optional=CallWithDefaultValue] Element element,
    149                                              in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=CallWithDefaultValue] DOMString pseudoElement);
     148        CSSStyleDeclaration getComputedStyle(in [Optional=TreatAsUndefined] Element element,
     149                                             in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=TreatAsUndefined] DOMString pseudoElement);
    150150
    151151        // WebKit extensions
    152152#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
    153         CSSRuleList getMatchedCSSRules(in [Optional=CallWithDefaultValue] Element element,
    154                                        in [Optional=CallWithDefaultValue] DOMString pseudoElement);
     153        CSSRuleList getMatchedCSSRules(in [Optional=TreatAsUndefined] Element element,
     154                                       in [Optional=TreatAsUndefined] DOMString pseudoElement);
    155155#endif
    156156
    157157        attribute [Replaceable] double devicePixelRatio;
    158158       
    159         WebKitPoint webkitConvertPointFromPageToNode(in [Optional=CallWithDefaultValue] Node node,
    160                                                      in [Optional=CallWithDefaultValue] WebKitPoint p);
    161         WebKitPoint webkitConvertPointFromNodeToPage(in [Optional=CallWithDefaultValue] Node node,
    162                                                      in [Optional=CallWithDefaultValue] WebKitPoint p);
     159        WebKitPoint webkitConvertPointFromPageToNode(in [Optional=TreatAsUndefined] Node node,
     160                                                     in [Optional=TreatAsUndefined] WebKitPoint p);
     161        WebKitPoint webkitConvertPointFromNodeToPage(in [Optional=TreatAsUndefined] Node node,
     162                                                     in [Optional=TreatAsUndefined] WebKitPoint p);
    163163
    164164        readonly attribute [V8EnabledAtRuntime] DOMApplicationCache applicationCache;
     
    210210
    211211        // Timers
    212         [Custom] long setTimeout(in [Optional=CallWithDefaultValue] TimeoutHandler handler,
    213                                  in [Optional=CallWithDefaultValue] long timeout);
     212        [Custom] long setTimeout(in [Optional=TreatAsUndefined] TimeoutHandler handler,
     213                                 in [Optional=TreatAsUndefined] long timeout);
    214214        // [Custom] long setTimeout(in TimeoutHandler handler, in long timeout, arguments...);
    215215        // [Custom] long setTimeout(in DOMString code, in long timeout);
    216         void clearTimeout(in [Optional=CallWithDefaultValue] long handle);
     216        void clearTimeout(in [Optional=TreatAsUndefined] long handle);
    217217        [Custom] long setInterval(in TimeoutHandler handler, in long timeout);
    218218        // [Custom] long setInterval(in TimeoutHandler handler, in long timeout, arguments...);
    219219        // [Custom] long setInterval(in DOMString code, in long timeout);
    220         void clearInterval(in [Optional=CallWithDefaultValue] long handle);
     220        void clearInterval(in [Optional=TreatAsUndefined] long handle);
    221221
    222222#if defined(ENABLE_REQUEST_ANIMATION_FRAME)
    223223        // WebKit animation extensions, being standardized in the WebPerf WG
    224         long webkitRequestAnimationFrame(in [Callback] RequestAnimationFrameCallback callback, in [Optional=CallWithDefaultValue] Element element);
     224        long webkitRequestAnimationFrame(in [Callback] RequestAnimationFrameCallback callback, in [Optional=TreatAsUndefined] Element element);
    225225        void webkitCancelAnimationFrame(in long id);
    226226        void webkitCancelRequestAnimationFrame(in long id); // This is a deprecated alias for webkitCancelAnimationFrame(). Remove this when removing vendor prefix.
     
    228228
    229229        // Base64
    230         DOMString atob(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString string)
     230        DOMString atob(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString string)
    231231            raises(DOMException);
    232         DOMString btoa(in [TreatNullAs=NullString,Optional=CallWithDefaultValue] DOMString string)
     232        DOMString btoa(in [TreatNullAs=NullString,Optional=TreatAsUndefined] DOMString string)
    233233            raises(DOMException);
    234234
  • trunk/Source/WebCore/page/History.idl

    r107058 r107182  
    4242        [DoNotCheckDomainSecurity, CallWith=ScriptExecutionContext] void back();
    4343        [DoNotCheckDomainSecurity, CallWith=ScriptExecutionContext] void forward();
    44         [DoNotCheckDomainSecurity, CallWith=ScriptExecutionContext] void go(in [Optional=CallWithDefaultValue] long distance);
     44        [DoNotCheckDomainSecurity, CallWith=ScriptExecutionContext] void go(in [Optional=TreatAsUndefined] long distance);
    4545       
    4646        [Custom, V8EnabledAtRuntime] void pushState(in any data, in DOMString title, in [Optional] DOMString url)
  • trunk/Source/WebCore/page/Location.idl

    r107051 r107182  
    4747#endif
    4848
    49         [Custom, V8OnInstance] void assign(in [Optional=CallWithDefaultValue] DOMString url);
    50         [Custom, V8OnInstance] void replace(in [Optional=CallWithDefaultValue] DOMString url);
     49        [Custom, V8OnInstance] void assign(in [Optional=TreatAsUndefined] DOMString url);
     50        [Custom, V8OnInstance] void replace(in [Optional=TreatAsUndefined] DOMString url);
    5151        [Custom, V8OnInstance] void reload();
    5252
  • trunk/Source/WebCore/plugins/DOMMimeTypeArray.idl

    r106798 r107182  
    2727    ] DOMMimeTypeArray {
    2828        readonly attribute unsigned long length;
    29         DOMMimeType item(in [Optional=CallWithDefaultValue] unsigned long index);
    30         DOMMimeType namedItem(in [Optional=CallWithDefaultValue] DOMString name);
     29        DOMMimeType item(in [Optional=TreatAsUndefined] unsigned long index);
     30        DOMMimeType namedItem(in [Optional=TreatAsUndefined] DOMString name);
    3131    };
    3232
  • trunk/Source/WebCore/plugins/DOMPlugin.idl

    r106798 r107182  
    2929        readonly attribute DOMString description;
    3030        readonly attribute unsigned long length;
    31         DOMMimeType item(in [Optional=CallWithDefaultValue] unsigned long index);
    32         DOMMimeType namedItem(in [Optional=CallWithDefaultValue] DOMString name);
     31        DOMMimeType item(in [Optional=TreatAsUndefined] unsigned long index);
     32        DOMMimeType namedItem(in [Optional=TreatAsUndefined] DOMString name);
    3333    };
    3434
  • trunk/Source/WebCore/plugins/DOMPluginArray.idl

    r106798 r107182  
    2727    ] DOMPluginArray {
    2828        readonly attribute unsigned long length;
    29         DOMPlugin item(in [Optional=CallWithDefaultValue] unsigned long index);
    30         DOMPlugin namedItem(in [Optional=CallWithDefaultValue] DOMString name);
    31         void refresh(in [Optional=CallWithDefaultValue] boolean reload);
     29        DOMPlugin item(in [Optional=TreatAsUndefined] unsigned long index);
     30        DOMPlugin namedItem(in [Optional=TreatAsUndefined] DOMString name);
     31        void refresh(in [Optional=TreatAsUndefined] boolean reload);
    3232    };
    3333
  • trunk/Source/WebCore/storage/IDBDatabase.idl

    r98563 r107182  
    4646        [CallWith=ScriptExecutionContext] IDBVersionChangeRequest setVersion(in DOMString version)
    4747            raises (IDBDatabaseException);
    48         [CallWith=ScriptExecutionContext] IDBTransaction transaction(in DOMStringList storeNames, in [Optional=CallWithDefaultValue] unsigned short mode)
     48        [CallWith=ScriptExecutionContext] IDBTransaction transaction(in DOMStringList storeNames, in [Optional=TreatAsUndefined] unsigned short mode)
    4949            raises (IDBDatabaseException);
    50         [CallWith=ScriptExecutionContext] IDBTransaction transaction(in DOMString[] storeNames, in [Optional=CallWithDefaultValue] unsigned short mode)
     50        [CallWith=ScriptExecutionContext] IDBTransaction transaction(in DOMString[] storeNames, in [Optional=TreatAsUndefined] unsigned short mode)
    5151            raises (IDBDatabaseException);
    52         [CallWith=ScriptExecutionContext] IDBTransaction transaction(in DOMString storeName, in [Optional=CallWithDefaultValue] unsigned short mode)
     52        [CallWith=ScriptExecutionContext] IDBTransaction transaction(in DOMString storeName, in [Optional=TreatAsUndefined] unsigned short mode)
    5353            raises (IDBDatabaseException);
    5454        void close();
  • trunk/Source/WebCore/storage/StorageEvent.idl

    r106776 r107182  
    3535        readonly attribute [InitializedByEventConstructor] Storage storageArea;
    3636
    37         void initStorageEvent(in [Optional=CallWithDefaultValue] DOMString typeArg,
    38                               in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    39                               in [Optional=CallWithDefaultValue] boolean cancelableArg,
    40                               in [Optional=CallWithDefaultValue] DOMString keyArg,
    41                               in [Optional=CallWithDefaultValue,TreatNullAs=NullString] DOMString oldValueArg,
    42                               in [Optional=CallWithDefaultValue,TreatNullAs=NullString] DOMString newValueArg,
    43                               in [Optional=CallWithDefaultValue] DOMString urlArg,
    44                               in [Optional=CallWithDefaultValue] Storage storageAreaArg);
     37        void initStorageEvent(in [Optional=TreatAsUndefined] DOMString typeArg,
     38                              in [Optional=TreatAsUndefined] boolean canBubbleArg,
     39                              in [Optional=TreatAsUndefined] boolean cancelableArg,
     40                              in [Optional=TreatAsUndefined] DOMString keyArg,
     41                              in [Optional=TreatAsUndefined,TreatNullAs=NullString] DOMString oldValueArg,
     42                              in [Optional=TreatAsUndefined,TreatNullAs=NullString] DOMString newValueArg,
     43                              in [Optional=TreatAsUndefined] DOMString urlArg,
     44                              in [Optional=TreatAsUndefined] Storage storageAreaArg);
    4545
    4646        // Needed once we support init<blank>EventNS
  • trunk/Source/WebCore/svg/ElementTimeControl.idl

    r92237 r107182  
    3333    ] ElementTimeControl {
    3434        void beginElement();
    35         void beginElementAt(in [Optional=CallWithDefaultValue] float offset);
     35        void beginElementAt(in [Optional=TreatAsUndefined] float offset);
    3636        void endElement();
    37         void endElementAt(in [Optional=CallWithDefaultValue] float offset);
     37        void endElementAt(in [Optional=TreatAsUndefined] float offset);
    3838    };
    3939
  • trunk/Source/WebCore/svg/SVGDocument.idl

    r92237 r107182  
    2828
    2929        // Overwrite the one in events::DocumentEvent
    30         Event createEvent(in [Optional=CallWithDefaultValue] DOMString eventType)
     30        Event createEvent(in [Optional=TreatAsUndefined] DOMString eventType)
    3131            raises(DOMException);
    3232    };
  • trunk/Source/WebCore/svg/SVGElementInstanceList.idl

    r92237 r107182  
    3030        readonly attribute unsigned long length;
    3131
    32         SVGElementInstance item(in [Optional=CallWithDefaultValue] unsigned long index);
     32        SVGElementInstance item(in [Optional=TreatAsUndefined] unsigned long index);
    3333    };
    3434}
  • trunk/Source/WebCore/svg/SVGFEDropShadowElement.idl

    r92237 r107182  
    3030        readonly attribute SVGAnimatedNumber stdDeviationY;
    3131
    32         void setStdDeviation(in [Optional=CallWithDefaultValue] float stdDeviationX,
    33                              in [Optional=CallWithDefaultValue] float stdDeviationY);
     32        void setStdDeviation(in [Optional=TreatAsUndefined] float stdDeviationX,
     33                             in [Optional=TreatAsUndefined] float stdDeviationY);
    3434    };
    3535
  • trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.idl

    r92237 r107182  
    3434        readonly attribute SVGAnimatedNumber stdDeviationY;
    3535
    36         void setStdDeviation(in [Optional=CallWithDefaultValue] float stdDeviationX,
    37                              in [Optional=CallWithDefaultValue] float stdDeviationY);
     36        void setStdDeviation(in [Optional=TreatAsUndefined] float stdDeviationX,
     37                             in [Optional=TreatAsUndefined] float stdDeviationY);
    3838    };
    3939
  • trunk/Source/WebCore/svg/SVGFEMorphologyElement.idl

    r106892 r107182  
    4141        readonly attribute SVGAnimatedNumber      radiusY;
    4242
    43         void setRadius(in [Optional=CallWithDefaultValue] float radiusX,
    44                        in [Optional=CallWithDefaultValue] float radiusY);
     43        void setRadius(in [Optional=TreatAsUndefined] float radiusX,
     44                       in [Optional=TreatAsUndefined] float radiusY);
    4545    };
    4646
  • trunk/Source/WebCore/svg/SVGFilterElement.idl

    r92237 r107182  
    4444        readonly attribute SVGAnimatedInteger     filterResY;
    4545
    46         void setFilterRes(in [Optional=CallWithDefaultValue] unsigned long filterResX,
    47                           in [Optional=CallWithDefaultValue] unsigned long filterResY);
     46        void setFilterRes(in [Optional=TreatAsUndefined] unsigned long filterResX,
     47                          in [Optional=TreatAsUndefined] unsigned long filterResY);
    4848    };
    4949
  • trunk/Source/WebCore/svg/SVGLocatable.idl

    r92237 r107182  
    3838        SVGMatrix getCTM();
    3939        SVGMatrix getScreenCTM();
    40         SVGMatrix getTransformToElement(in [Optional=CallWithDefaultValue] SVGElement element)
     40        SVGMatrix getTransformToElement(in [Optional=TreatAsUndefined] SVGElement element)
    4141            raises(SVGException);
    4242    };
  • trunk/Source/WebCore/svg/SVGMarkerElement.idl

    r92237 r107182  
    5252
    5353        void setOrientToAuto();
    54         void setOrientToAngle(in [Optional=CallWithDefaultValue] SVGAngle angle);
     54        void setOrientToAngle(in [Optional=TreatAsUndefined] SVGAngle angle);
    5555    };
    5656
  • trunk/Source/WebCore/svg/SVGPathElement.idl

    r92237 r107182  
    3838
    3939        float getTotalLength();
    40         SVGPoint getPointAtLength(in [Optional=CallWithDefaultValue] float distance);
    41         unsigned long getPathSegAtLength(in [Optional=CallWithDefaultValue] float distance);
     40        SVGPoint getPointAtLength(in [Optional=TreatAsUndefined] float distance);
     41        unsigned long getPathSegAtLength(in [Optional=TreatAsUndefined] float distance);
    4242
    4343        SVGPathSegClosePath createSVGPathSegClosePath();
    4444
    45         SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(in [Optional=CallWithDefaultValue] float x,
    46                                                       in [Optional=CallWithDefaultValue] float y);
    47         SVGPathSegMovetoRel createSVGPathSegMovetoRel(in [Optional=CallWithDefaultValue] float x,
    48                                                       in [Optional=CallWithDefaultValue] float y);
     45        SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(in [Optional=TreatAsUndefined] float x,
     46                                                      in [Optional=TreatAsUndefined] float y);
     47        SVGPathSegMovetoRel createSVGPathSegMovetoRel(in [Optional=TreatAsUndefined] float x,
     48                                                      in [Optional=TreatAsUndefined] float y);
    4949
    50         SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(in [Optional=CallWithDefaultValue] float x,
    51                                                       in [Optional=CallWithDefaultValue] float y);
    52         SVGPathSegLinetoRel createSVGPathSegLinetoRel(in [Optional=CallWithDefaultValue] float x,
    53                                                       in [Optional=CallWithDefaultValue] float y);
     50        SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(in [Optional=TreatAsUndefined] float x,
     51                                                      in [Optional=TreatAsUndefined] float y);
     52        SVGPathSegLinetoRel createSVGPathSegLinetoRel(in [Optional=TreatAsUndefined] float x,
     53                                                      in [Optional=TreatAsUndefined] float y);
    5454
    55         SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(in [Optional=CallWithDefaultValue] float x,
    56                                                                   in [Optional=CallWithDefaultValue] float y,
    57                                                                   in [Optional=CallWithDefaultValue] float x1,
    58                                                                   in [Optional=CallWithDefaultValue] float y1,
    59                                                                   in [Optional=CallWithDefaultValue] float x2,
    60                                                                   in [Optional=CallWithDefaultValue] float y2);
    61         SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(in [Optional=CallWithDefaultValue] float x,
    62                                                                   in [Optional=CallWithDefaultValue] float y,
    63                                                                   in [Optional=CallWithDefaultValue] float x1,
    64                                                                   in [Optional=CallWithDefaultValue] float y1,
    65                                                                   in [Optional=CallWithDefaultValue] float x2,
    66                                                                   in [Optional=CallWithDefaultValue] float y2);
     55        SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(in [Optional=TreatAsUndefined] float x,
     56                                                                  in [Optional=TreatAsUndefined] float y,
     57                                                                  in [Optional=TreatAsUndefined] float x1,
     58                                                                  in [Optional=TreatAsUndefined] float y1,
     59                                                                  in [Optional=TreatAsUndefined] float x2,
     60                                                                  in [Optional=TreatAsUndefined] float y2);
     61        SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(in [Optional=TreatAsUndefined] float x,
     62                                                                  in [Optional=TreatAsUndefined] float y,
     63                                                                  in [Optional=TreatAsUndefined] float x1,
     64                                                                  in [Optional=TreatAsUndefined] float y1,
     65                                                                  in [Optional=TreatAsUndefined] float x2,
     66                                                                  in [Optional=TreatAsUndefined] float y2);
    6767
    68         SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(in [Optional=CallWithDefaultValue] float x,
    69                                                                           in [Optional=CallWithDefaultValue] float y,
    70                                                                           in [Optional=CallWithDefaultValue] float x1,
    71                                                                           in [Optional=CallWithDefaultValue] float y1);
    72         SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(in [Optional=CallWithDefaultValue] float x,
    73                                                                           in [Optional=CallWithDefaultValue] float y,
    74                                                                           in [Optional=CallWithDefaultValue] float x1,
    75                                                                           in [Optional=CallWithDefaultValue] float y1);
     68        SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(in [Optional=TreatAsUndefined] float x,
     69                                                                          in [Optional=TreatAsUndefined] float y,
     70                                                                          in [Optional=TreatAsUndefined] float x1,
     71                                                                          in [Optional=TreatAsUndefined] float y1);
     72        SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(in [Optional=TreatAsUndefined] float x,
     73                                                                          in [Optional=TreatAsUndefined] float y,
     74                                                                          in [Optional=TreatAsUndefined] float x1,
     75                                                                          in [Optional=TreatAsUndefined] float y1);
    7676
    77         SVGPathSegArcAbs createSVGPathSegArcAbs(in [Optional=CallWithDefaultValue] float x,
    78                                                 in [Optional=CallWithDefaultValue] float y,
    79                                                 in [Optional=CallWithDefaultValue] float r1,
    80                                                 in [Optional=CallWithDefaultValue] float r2,
    81                                                 in [Optional=CallWithDefaultValue] float angle,
    82                                                 in [Optional=CallWithDefaultValue] boolean largeArcFlag,
    83                                                 in [Optional=CallWithDefaultValue] boolean sweepFlag);
    84         SVGPathSegArcRel createSVGPathSegArcRel(in [Optional=CallWithDefaultValue] float x,
    85                                                 in [Optional=CallWithDefaultValue] float y,
    86                                                 in [Optional=CallWithDefaultValue] float r1,
    87                                                 in [Optional=CallWithDefaultValue] float r2,
    88                                                 in [Optional=CallWithDefaultValue] float angle,
    89                                                 in [Optional=CallWithDefaultValue] boolean largeArcFlag,
    90                                                 in [Optional=CallWithDefaultValue] boolean sweepFlag);
     77        SVGPathSegArcAbs createSVGPathSegArcAbs(in [Optional=TreatAsUndefined] float x,
     78                                                in [Optional=TreatAsUndefined] float y,
     79                                                in [Optional=TreatAsUndefined] float r1,
     80                                                in [Optional=TreatAsUndefined] float r2,
     81                                                in [Optional=TreatAsUndefined] float angle,
     82                                                in [Optional=TreatAsUndefined] boolean largeArcFlag,
     83                                                in [Optional=TreatAsUndefined] boolean sweepFlag);
     84        SVGPathSegArcRel createSVGPathSegArcRel(in [Optional=TreatAsUndefined] float x,
     85                                                in [Optional=TreatAsUndefined] float y,
     86                                                in [Optional=TreatAsUndefined] float r1,
     87                                                in [Optional=TreatAsUndefined] float r2,
     88                                                in [Optional=TreatAsUndefined] float angle,
     89                                                in [Optional=TreatAsUndefined] boolean largeArcFlag,
     90                                                in [Optional=TreatAsUndefined] boolean sweepFlag);
    9191
    92         SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(in [Optional=CallWithDefaultValue] float x);
    93         SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(in [Optional=CallWithDefaultValue] float x);
     92        SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(in [Optional=TreatAsUndefined] float x);
     93        SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(in [Optional=TreatAsUndefined] float x);
    9494
    95         SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(in [Optional=CallWithDefaultValue] float y);
    96         SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(in [Optional=CallWithDefaultValue] float y);
     95        SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(in [Optional=TreatAsUndefined] float y);
     96        SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(in [Optional=TreatAsUndefined] float y);
    9797
    98         SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(in [Optional=CallWithDefaultValue] float x,
    99                                                                               in [Optional=CallWithDefaultValue] float y,
    100                                                                               in [Optional=CallWithDefaultValue] float x2,
    101                                                                               in [Optional=CallWithDefaultValue] float y2);
    102         SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(in [Optional=CallWithDefaultValue] float x,
    103                                                                               in [Optional=CallWithDefaultValue] float y,
    104                                                                               in [Optional=CallWithDefaultValue] float x2,
    105                                                                               in [Optional=CallWithDefaultValue] float y2);
     98        SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(in [Optional=TreatAsUndefined] float x,
     99                                                                              in [Optional=TreatAsUndefined] float y,
     100                                                                              in [Optional=TreatAsUndefined] float x2,
     101                                                                              in [Optional=TreatAsUndefined] float y2);
     102        SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(in [Optional=TreatAsUndefined] float x,
     103                                                                              in [Optional=TreatAsUndefined] float y,
     104                                                                              in [Optional=TreatAsUndefined] float x2,
     105                                                                              in [Optional=TreatAsUndefined] float y2);
    106106
    107         SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(in [Optional=CallWithDefaultValue] float x,
    108                                                                                       in [Optional=CallWithDefaultValue] float y);
    109         SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(in [Optional=CallWithDefaultValue] float x,
    110                                                                                       in [Optional=CallWithDefaultValue] float y);
     107        SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(in [Optional=TreatAsUndefined] float x,
     108                                                                                      in [Optional=TreatAsUndefined] float y);
     109        SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(in [Optional=TreatAsUndefined] float x,
     110                                                                                      in [Optional=TreatAsUndefined] float y);
    111111
    112112        readonly attribute SVGPathSegList pathSegList;
  • trunk/Source/WebCore/svg/SVGSVGElement.idl

    r92237 r107182  
    5656        readonly attribute SVGPoint currentTranslate;
    5757
    58         unsigned long suspendRedraw(in [Optional=CallWithDefaultValue] unsigned long maxWaitMilliseconds);
    59         void unsuspendRedraw(in [Optional=CallWithDefaultValue] unsigned long suspendHandleId);
     58        unsigned long suspendRedraw(in [Optional=TreatAsUndefined] unsigned long maxWaitMilliseconds);
     59        void unsuspendRedraw(in [Optional=TreatAsUndefined] unsigned long suspendHandleId);
    6060        void unsuspendRedrawAll();
    6161        void forceRedraw();
     
    6464        boolean animationsPaused();
    6565        float getCurrentTime();
    66         void setCurrentTime(in [Optional=CallWithDefaultValue] float seconds);
    67         NodeList getIntersectionList(in [Optional=CallWithDefaultValue] SVGRect rect,
    68                                      in [Optional=CallWithDefaultValue] SVGElement referenceElement);
    69         NodeList getEnclosureList(in [Optional=CallWithDefaultValue] SVGRect rect,
    70                                   in [Optional=CallWithDefaultValue] SVGElement referenceElement);
    71         boolean checkIntersection(in [Optional=CallWithDefaultValue] SVGElement element,
    72                                   in [Optional=CallWithDefaultValue] SVGRect rect);
    73         boolean checkEnclosure(in [Optional=CallWithDefaultValue] SVGElement element,
    74                                in [Optional=CallWithDefaultValue] SVGRect rect);
     66        void setCurrentTime(in [Optional=TreatAsUndefined] float seconds);
     67        NodeList getIntersectionList(in [Optional=TreatAsUndefined] SVGRect rect,
     68                                     in [Optional=TreatAsUndefined] SVGElement referenceElement);
     69        NodeList getEnclosureList(in [Optional=TreatAsUndefined] SVGRect rect,
     70                                  in [Optional=TreatAsUndefined] SVGElement referenceElement);
     71        boolean checkIntersection(in [Optional=TreatAsUndefined] SVGElement element,
     72                                  in [Optional=TreatAsUndefined] SVGRect rect);
     73        boolean checkEnclosure(in [Optional=TreatAsUndefined] SVGElement element,
     74                               in [Optional=TreatAsUndefined] SVGRect rect);
    7575        void deselectAll();
    7676
     
    8282        SVGRect createSVGRect();
    8383        SVGTransform createSVGTransform();
    84         SVGTransform createSVGTransformFromMatrix(in [Optional=CallWithDefaultValue] SVGMatrix matrix);
    85         Element getElementById(in [Optional=CallWithDefaultValue] DOMString elementId);
     84        SVGTransform createSVGTransformFromMatrix(in [Optional=TreatAsUndefined] SVGMatrix matrix);
     85        Element getElementById(in [Optional=TreatAsUndefined] DOMString elementId);
    8686    };
    8787
  • trunk/Source/WebCore/svg/SVGStylable.idl

    r92237 r107182  
    3636        readonly attribute CSSStyleDeclaration style;
    3737
    38         CSSValue getPresentationAttribute(in [Optional=CallWithDefaultValue] DOMString name);
     38        CSSValue getPresentationAttribute(in [Optional=TreatAsUndefined] DOMString name);
    3939    };
    4040
  • trunk/Source/WebCore/svg/SVGTests.idl

    r92237 r107182  
    3636        readonly attribute SVGStringList systemLanguage;
    3737
    38         boolean hasExtension(in [Optional=CallWithDefaultValue] DOMString extension);
     38        boolean hasExtension(in [Optional=TreatAsUndefined] DOMString extension);
    3939    };
    4040
  • trunk/Source/WebCore/svg/SVGTextContentElement.idl

    r92237 r107182  
    4343        long getNumberOfChars();
    4444        float getComputedTextLength();
    45         float getSubStringLength(in [Optional=CallWithDefaultValue,IsIndex] unsigned long offset,
    46                                  in [Optional=CallWithDefaultValue,IsIndex] unsigned long length)
     45        float getSubStringLength(in [Optional=TreatAsUndefined,IsIndex] unsigned long offset,
     46                                 in [Optional=TreatAsUndefined,IsIndex] unsigned long length)
    4747            raises(DOMException);
    48         SVGPoint getStartPositionOfChar(in [Optional=CallWithDefaultValue,IsIndex] unsigned long offset)
     48        SVGPoint getStartPositionOfChar(in [Optional=TreatAsUndefined,IsIndex] unsigned long offset)
    4949            raises(DOMException);
    50         SVGPoint getEndPositionOfChar(in [Optional=CallWithDefaultValue,IsIndex] unsigned long offset)
     50        SVGPoint getEndPositionOfChar(in [Optional=TreatAsUndefined,IsIndex] unsigned long offset)
    5151            raises(DOMException);
    52         SVGRect getExtentOfChar(in [Optional=CallWithDefaultValue,IsIndex] unsigned long offset)
     52        SVGRect getExtentOfChar(in [Optional=TreatAsUndefined,IsIndex] unsigned long offset)
    5353            raises(DOMException);
    54         float getRotationOfChar(in [Optional=CallWithDefaultValue,IsIndex] unsigned long offset)
     54        float getRotationOfChar(in [Optional=TreatAsUndefined,IsIndex] unsigned long offset)
    5555            raises(DOMException);
    56         long getCharNumAtPosition(in [Optional=CallWithDefaultValue] SVGPoint point);
    57         void selectSubString(in [Optional=CallWithDefaultValue,IsIndex] unsigned long offset,
    58                              in [Optional=CallWithDefaultValue,IsIndex] unsigned long length)
     56        long getCharNumAtPosition(in [Optional=TreatAsUndefined] SVGPoint point);
     57        void selectSubString(in [Optional=TreatAsUndefined,IsIndex] unsigned long offset,
     58                             in [Optional=TreatAsUndefined,IsIndex] unsigned long length)
    5959            raises(DOMException);
    6060    };
  • trunk/Source/WebCore/webaudio/AudioNode.idl

    r103882 r107182  
    3131        readonly attribute unsigned long numberOfOutputs;
    3232
    33         void connect(in AudioNode destination, in [Optional=CallWithDefaultValue] unsigned long output, in [Optional=CallWithDefaultValue] unsigned long input)
     33        void connect(in AudioNode destination, in [Optional=TreatAsUndefined] unsigned long output, in [Optional=TreatAsUndefined] unsigned long input)
    3434            raises(DOMException);
    3535
    36         void disconnect(in [Optional=CallWithDefaultValue] unsigned long output)
     36        void disconnect(in [Optional=TreatAsUndefined] unsigned long output)
    3737            raises(DOMException);
    3838    };
  • trunk/Source/WebCore/workers/SharedWorker.idl

    r107041 r107182  
    3737        JSCustomConstructor,
    3838        ConstructorParameters=2,
    39         Constructor(in DOMString scriptURL, in [Optional=CallWithNullValue] DOMString name),
     39        Constructor(in DOMString scriptURL, in [Optional=TreatAsUndefined, TreatUndefinedAs=NullString] DOMString name),
    4040        CallWith=ScriptExecutionContext,
    4141        ConstructorRaisesException,
  • trunk/Source/WebCore/workers/WorkerContext.idl

    r107082 r107182  
    6060        [Custom] long setTimeout(in TimeoutHandler handler, in long timeout);
    6161        // [Custom] long setTimeout(in DOMString code, in long timeout);
    62         void clearTimeout(in [Optional=CallWithDefaultValue] long handle);
     62        void clearTimeout(in [Optional=TreatAsUndefined] long handle);
    6363        [Custom] long setInterval(in TimeoutHandler handler, in long timeout);
    6464        // [Custom] long setInterval(in DOMString code, in long timeout);
    65         void clearInterval(in [Optional=CallWithDefaultValue] long handle);
     65        void clearInterval(in [Optional=TreatAsUndefined] long handle);
    6666
    6767
  • trunk/Source/WebCore/xml/DOMParser.idl

    r99764 r107182  
    2222        Constructor
    2323    ] DOMParser {
    24         Document parseFromString(in [Optional=CallWithDefaultValue] DOMString str,
    25                                  in [Optional=CallWithDefaultValue] DOMString contentType);
     24        Document parseFromString(in [Optional=TreatAsUndefined] DOMString str,
     25                                 in [Optional=TreatAsUndefined] DOMString contentType);
    2626    };
    2727}
  • trunk/Source/WebCore/xml/XMLSerializer.idl

    r99764 r107182  
    2424        Constructor
    2525    ] XMLSerializer {
    26         DOMString serializeToString(in [Optional=CallWithDefaultValue] Node node)
     26        DOMString serializeToString(in [Optional=TreatAsUndefined] Node node)
    2727            raises(DOMException);
    2828    };
  • trunk/Source/WebCore/xml/XPathEvaluator.idl

    r99764 r107182  
    2222        Constructor
    2323    ] XPathEvaluator {
    24         XPathExpression createExpression(in [Optional=CallWithDefaultValue] DOMString expression,
    25                                          in [Optional=CallWithDefaultValue] XPathNSResolver resolver)
     24        XPathExpression createExpression(in [Optional=TreatAsUndefined] DOMString expression,
     25                                         in [Optional=TreatAsUndefined] XPathNSResolver resolver)
    2626            raises(DOMException);
    2727
    28         XPathNSResolver createNSResolver(in [Optional=CallWithDefaultValue] Node nodeResolver);
     28        XPathNSResolver createNSResolver(in [Optional=TreatAsUndefined] Node nodeResolver);
    2929
    30         XPathResult evaluate(in [Optional=CallWithDefaultValue] DOMString expression,
    31                              in [Optional=CallWithDefaultValue] Node contextNode,
    32                              in [Optional=CallWithDefaultValue] XPathNSResolver resolver,
    33                              in [Optional=CallWithDefaultValue] unsigned short type,
    34                              in [Optional=CallWithDefaultValue] XPathResult inResult)
     30        XPathResult evaluate(in [Optional=TreatAsUndefined] DOMString expression,
     31                             in [Optional=TreatAsUndefined] Node contextNode,
     32                             in [Optional=TreatAsUndefined] XPathNSResolver resolver,
     33                             in [Optional=TreatAsUndefined] unsigned short type,
     34                             in [Optional=TreatAsUndefined] XPathResult inResult)
    3535            raises(DOMException);
    3636    };
  • trunk/Source/WebCore/xml/XPathExpression.idl

    r106660 r107182  
    2222
    2323    interface XPathExpression {
    24         [ObjCLegacyUnnamedParameters] XPathResult evaluate(in [Optional=CallWithDefaultValue] Node contextNode,
    25                                             in [Optional=CallWithDefaultValue] unsigned short type,
    26                                             in [Optional=CallWithDefaultValue] XPathResult inResult)
     24        [ObjCLegacyUnnamedParameters] XPathResult evaluate(in [Optional=TreatAsUndefined] Node contextNode,
     25                                            in [Optional=TreatAsUndefined] unsigned short type,
     26                                            in [Optional=TreatAsUndefined] XPathResult inResult)
    2727            raises(DOMException);
    2828    };
  • trunk/Source/WebCore/xml/XPathNSResolver.idl

    r97771 r107182  
    2525        OmitConstructor
    2626    ] XPathNSResolver {
    27         [ConvertNullStringTo=Null] DOMString lookupNamespaceURI(in [Optional=CallWithDefaultValue] DOMString prefix);
     27        [ConvertNullStringTo=Null] DOMString lookupNamespaceURI(in [Optional=TreatAsUndefined] DOMString prefix);
    2828    };
    2929
  • trunk/Source/WebCore/xml/XPathResult.idl

    r106737 r107182  
    5353        Node iterateNext()
    5454            raises (DOMException);
    55         Node snapshotItem(in [Optional=CallWithDefaultValue] unsigned long index)
     55        Node snapshotItem(in [Optional=TreatAsUndefined] unsigned long index)
    5656            raises (DOMException);
    5757    };
Note: See TracChangeset for help on using the changeset viewer.