Title: [100163] trunk
Revision
100163
Author
[email protected]
Date
2011-11-14 11:11:57 -0800 (Mon, 14 Nov 2011)

Log Message

Remove RequiresAllArguments
https://bugs.webkit.org/show_bug.cgi?id=71503

Reviewed by Adam Barth.

Source/WebCore:

This removes RequiresAllArguments from the idl files as well as from the code generators.
For window.move/resize/scroll we now match IE and treat missing arguments as 0.
For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.

Test: fast/events/drag-and-drop-set-drag-data-arguments.html

* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateArgumentsCountCheck): Remove RequiresAllArguments.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateArgumentsCountCheck): Ditto.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
* dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
* page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
* websockets/WebSocket.idl: Comment changes only.

LayoutTests:

* fast/dom/Window/window-resize-and-move-arguments-expected.txt:
* fast/dom/Window/window-resize-and-move-arguments.html: Treat missing arguments as 0.
* fast/dom/Window/window-scroll-arguments-expected.txt:
* fast/dom/Window/window-scroll-arguments.html: Ditto.
* fast/events/drag-and-drop-set-drag-data-arguments-expected.txt: Added.
* fast/events/drag-and-drop-set-drag-data-arguments.html: Added. This tests that we get an exception when called with too few arguments.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (100162 => 100163)


--- trunk/LayoutTests/ChangeLog	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/LayoutTests/ChangeLog	2011-11-14 19:11:57 UTC (rev 100163)
@@ -1,3 +1,17 @@
+2011-11-14  Erik Arvidsson  <[email protected]>
+
+        Remove RequiresAllArguments
+        https://bugs.webkit.org/show_bug.cgi?id=71503
+
+        Reviewed by Adam Barth.
+
+        * fast/dom/Window/window-resize-and-move-arguments-expected.txt:
+        * fast/dom/Window/window-resize-and-move-arguments.html: Treat missing arguments as 0.
+        * fast/dom/Window/window-scroll-arguments-expected.txt:
+        * fast/dom/Window/window-scroll-arguments.html: Ditto.
+        * fast/events/drag-and-drop-set-drag-data-arguments-expected.txt: Added.
+        * fast/events/drag-and-drop-set-drag-data-arguments.html: Added. This tests that we get an exception when called with too few arguments.
+
 2011-11-11  Jer Noble  <[email protected]>
 
         Implement MediaController.

Modified: trunk/LayoutTests/fast/dom/Window/window-resize-and-move-arguments-expected.txt (100162 => 100163)


--- trunk/LayoutTests/fast/dom/Window/window-resize-and-move-arguments-expected.txt	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/LayoutTests/fast/dom/Window/window-resize-and-move-arguments-expected.txt	2011-11-14 19:11:57 UTC (rev 100163)
@@ -1,4 +1,4 @@
-This test makes sure that we don't allow calling the window moving and resizing methods with less than 2 arguments and that we do allow calling them with more.
+This test makes sure that calling the window moving and resizing methods with less than 2 arguments treats the missing arguments as 0.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
@@ -10,7 +10,7 @@
 PASS window.outerWidth is resetWidth
 PASS window.outerHeight is resetHeight
 Testing - resizeTo with 1 argument
-PASS window.outerWidth is resetWidth
+PASS window.outerWidth is width
 PASS window.outerHeight is resetHeight
 Testing - resizeTo with more than 2 arguments
 PASS window.outerWidth is width
@@ -22,7 +22,7 @@
 PASS window.outerWidth is resetWidth
 PASS window.outerHeight is resetHeight
 Testing - resizeBy with 1 argument
-PASS window.outerWidth is resetWidth
+PASS window.outerWidth is resetWidth + x
 PASS window.outerHeight is resetHeight
 Testing - resizeBy with more than 2 arguments
 PASS window.outerWidth is resetWidth + x
@@ -34,7 +34,7 @@
 PASS window.screenX is resetX
 PASS window.screenY is resetY
 Testing - moveTo with 1 argument
-PASS window.screenX is resetX
+PASS window.screenX is resetX + x
 PASS window.screenY is resetY
 Testing - moveTo with more than 2 arguments
 PASS window.screenX is x + screen.availLeft
@@ -46,7 +46,7 @@
 PASS window.screenX is resetX
 PASS window.screenY is resetY
 Testing - moveBy with 1 argument
-PASS window.screenX is resetX
+PASS window.screenX is resetX + x
 PASS window.screenY is resetY
 Testing - moveBy with more than 2 arguments
 PASS window.screenX is resetX + x

Modified: trunk/LayoutTests/fast/dom/Window/window-resize-and-move-arguments.html (100162 => 100163)


--- trunk/LayoutTests/fast/dom/Window/window-resize-and-move-arguments.html	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/LayoutTests/fast/dom/Window/window-resize-and-move-arguments.html	2011-11-14 19:11:57 UTC (rev 100163)
@@ -30,8 +30,8 @@
 
     reset();
 
-    description("This test makes sure that we don't allow calling the window moving and resizing\
-    methods with less than 2 arguments and that we do allow calling them with more.");
+    description("This test makes sure that calling the window moving and resizing\
+    methods with less than 2 arguments treats the missing arguments as 0.");
 
     // resizeTo /////////////////////////
     debug('');
@@ -46,7 +46,7 @@
 
     debug("Testing - resizeTo with 1 argument");
     window.resizeTo(x);
-    shouldBe('window.outerWidth', 'resetWidth');
+    shouldBe('window.outerWidth', 'width');
     shouldBe('window.outerHeight', 'resetHeight');
     reset();
 
@@ -69,7 +69,7 @@
 
     debug("Testing - resizeBy with 1 argument");
     window.resizeBy(x);
-    shouldBe('window.outerWidth', 'resetWidth');
+    shouldBe('window.outerWidth', 'resetWidth + x');
     shouldBe('window.outerHeight', 'resetHeight');
     reset();
 
@@ -93,7 +93,7 @@
 
     debug("Testing - moveTo with 1 argument");
     window.moveTo(x);
-    shouldBe('window.screenX', 'resetX');
+    shouldBe('window.screenX', 'resetX + x');
     shouldBe('window.screenY', 'resetY');
     reset();
 
@@ -118,7 +118,7 @@
 
     debug("Testing - moveBy with 1 argument");
     window.moveBy(x);
-    shouldBe('window.screenX', 'resetX');
+    shouldBe('window.screenX', 'resetX + x');
     shouldBe('window.screenY', 'resetY');
     reset();
 

Modified: trunk/LayoutTests/fast/dom/Window/window-scroll-arguments-expected.txt (100162 => 100163)


--- trunk/LayoutTests/fast/dom/Window/window-scroll-arguments-expected.txt	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/LayoutTests/fast/dom/Window/window-scroll-arguments-expected.txt	2011-11-14 19:11:57 UTC (rev 100163)
@@ -1,4 +1,4 @@
-This test makes sure that we don't allow calling the window scrolling methods with less than 2 arguments and that we do allow calling them with more.
+This test makes sure that calling the window scrolling methods with less than 2 arguments treats the missing arguments as 0.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
@@ -10,7 +10,7 @@
 PASS window.scrollX is resetX
 PASS window.scrollY is resetY
 Testing - scrollTo with 1 argument
-PASS window.scrollX is resetX
+PASS window.scrollX is resetX + x
 PASS window.scrollY is resetY
 Testing - scrollTo with more than 2 arguments
 PASS window.scrollX is x
@@ -22,7 +22,7 @@
 PASS window.scrollX is resetX
 PASS window.scrollY is resetY
 Testing - scroll with 1 argument
-PASS window.scrollX is resetX
+PASS window.scrollX is resetX + x
 PASS window.scrollY is resetY
 Testing - scroll with more than 2 arguments
 PASS window.scrollX is x
@@ -34,7 +34,7 @@
 PASS window.scrollX is resetX
 PASS window.scrollY is resetY
 Testing - scrollBy with 1 argument
-PASS window.scrollX is resetX
+PASS window.scrollX is resetX + x
 PASS window.scrollY is resetY
 Testing - scrollBy with more than 2 arguments
 PASS window.scrollX is resetX + x

Modified: trunk/LayoutTests/fast/dom/Window/window-scroll-arguments.html (100162 => 100163)


--- trunk/LayoutTests/fast/dom/Window/window-scroll-arguments.html	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/LayoutTests/fast/dom/Window/window-scroll-arguments.html	2011-11-14 19:11:57 UTC (rev 100163)
@@ -24,8 +24,8 @@
 
     reset();
 
-    description("This test makes sure that we don't allow calling the window scrolling\
-    methods with less than 2 arguments and that we do allow calling them with more.");
+    description("This test makes sure that calling the window scrolling\
+    methods with less than 2 arguments treats the missing arguments as 0.");
 
     // scrollTo /////////////////////////
     debug('');
@@ -40,7 +40,7 @@
 
     debug("Testing - scrollTo with 1 argument");
     window.scrollTo(x);
-    shouldBe('window.scrollX', 'resetX');
+    shouldBe('window.scrollX', 'resetX + x');
     shouldBe('window.scrollY', 'resetY');
     reset();
 
@@ -63,7 +63,7 @@
 
     debug("Testing - scroll with 1 argument");
     window.scroll(x);
-    shouldBe('window.scrollX', 'resetX');
+    shouldBe('window.scrollX', 'resetX + x');
     shouldBe('window.scrollY', 'resetY');
     reset();
 
@@ -86,7 +86,7 @@
 
     debug("Testing - scrollBy with 1 argument");
     window.scrollBy(x);
-    shouldBe('window.scrollX', 'resetX');
+    shouldBe('window.scrollX', 'resetX + x');
     shouldBe('window.scrollY', 'resetY');
     reset();
 

Added: trunk/LayoutTests/fast/events/drag-and-drop-set-drag-data-arguments-expected.txt (0 => 100163)


--- trunk/LayoutTests/fast/events/drag-and-drop-set-drag-data-arguments-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/events/drag-and-drop-set-drag-data-arguments-expected.txt	2011-11-14 19:11:57 UTC (rev 100163)
@@ -0,0 +1,11 @@
+Tests correct behavior of event.dataTransfer.setData with wrong number of arguments
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS event.dataTransfer.setData() threw exception TypeError: Not enough arguments.
+PASS event.dataTransfer.setData("Text") threw exception TypeError: Not enough arguments.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+Drag me

Added: trunk/LayoutTests/fast/events/drag-and-drop-set-drag-data-arguments.html (0 => 100163)


--- trunk/LayoutTests/fast/events/drag-and-drop-set-drag-data-arguments.html	                        (rev 0)
+++ trunk/LayoutTests/fast/events/drag-and-drop-set-drag-data-arguments.html	2011-11-14 19:11:57 UTC (rev 100163)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<script src=""
+<div draggable="true" id="dragger">Drag me</div>
+<script>
+
+description('Tests correct behavior of event.dataTransfer.setData with wrong number of arguments');
+
+var event;
+var notEnoughArgumentsError = '"TypeError: Not enough arguments"';
+
+var dragger = document.getElementById('dragger');
+dragger.addEventListener('dragstart', function(e) {
+    event = e;
+    shouldThrow('event.dataTransfer.setData()', notEnoughArgumentsError);
+    shouldThrow('event.dataTransfer.setData("Text")', notEnoughArgumentsError);
+}, false);
+
+if (window.eventSender) {
+    var rect = dragger.getBoundingClientRect();
+    var x = rect.left + rect.width / 2;
+    var y = rect.top + rect.height / 2;
+    eventSender.mouseMoveTo(x, y);
+    eventSender.mouseDown();
+    eventSender.leapForward(400);
+    eventSender.mouseMoveTo(x + 100, y);
+    eventSender.mouseUp();
+}
+
+</script>
+<script src=""

Modified: trunk/Source/WebCore/ChangeLog (100162 => 100163)


--- trunk/Source/WebCore/ChangeLog	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/ChangeLog	2011-11-14 19:11:57 UTC (rev 100163)
@@ -1,3 +1,37 @@
+2011-11-14  Erik Arvidsson  <[email protected]>
+
+        Remove RequiresAllArguments
+        https://bugs.webkit.org/show_bug.cgi?id=71503
+
+        Reviewed by Adam Barth.
+
+        This removes RequiresAllArguments from the idl files as well as from the code generators.
+        For window.move/resize/scroll we now match IE and treat missing arguments as 0.
+        For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.
+
+        Test: fast/events/drag-and-drop-set-drag-data-arguments.html
+
+        * bindings/js/JSSVGLengthCustom.cpp:
+        (WebCore::JSSVGLength::convertToSpecifiedUnits):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateArgumentsCountCheck): Remove RequiresAllArguments.
+        * bindings/scripts/CodeGeneratorV8.pm:
+        (GenerateArgumentsCountCheck): Ditto.
+        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
+        * bindings/scripts/test/CPP/WebDOMTestObj.h:
+        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/ObjC/DOMTestObj.h:
+        * bindings/scripts/test/ObjC/DOMTestObj.mm:
+        * bindings/scripts/test/TestObj.idl:
+        * bindings/scripts/test/V8/V8TestObj.cpp:
+        (WebCore::ConfigureV8TestObjTemplate):
+        * dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
+        * page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
+        * websockets/WebSocket.idl: Comment changes only.
+
 2011-11-08  Jer Noble  <[email protected]>
 
         Implement MediaController.

Modified: trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp (100162 => 100163)


--- trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp	2011-11-14 19:11:57 UTC (rev 100163)
@@ -80,7 +80,6 @@
 
     SVGLength& podImp = impl()->propertyReference();
 
-    // Mimic the behaviour of RequiresAllArguments=Raise.
     if (exec->argumentCount() < 1)
         return throwError(exec, createSyntaxError(exec, "Not enough arguments"));
 

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2011-11-14 19:11:57 UTC (rev 100163)
@@ -2252,11 +2252,7 @@
     if ($numMandatoryParams >= 1)
     {
         push(@$outputArray, "    if (exec->argumentCount() < $numMandatoryParams)\n");
-        if ($function->signature->extendedAttributes->{"RequiresAllArguments"}) {
-            push(@$outputArray, "        return JSValue::encode(jsUndefined());\n");
-        } else {
-            push(@$outputArray, "        return throwVMError(exec, createTypeError(exec, \"Not enough arguments\"));\n");
-        }
+        push(@$outputArray, "        return throwVMError(exec, createTypeError(exec, \"Not enough arguments\"));\n");
     }
 }
 

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2011-11-14 19:11:57 UTC (rev 100163)
@@ -1431,11 +1431,7 @@
     my $argumentsCountCheckString = "";
     if ($numMandatoryParams >= 1) {
         $argumentsCountCheckString .= "    if (args.Length() < $numMandatoryParams)\n";
-        if ($function->signature->extendedAttributes->{"RequiresAllArguments"}) {
-            $argumentsCountCheckString .= "        return v8::Handle<v8::Value>();\n";
-        } else {
-            $argumentsCountCheckString .= "        return throwError(\"Not enough arguments\", V8Proxy::TypeError);\n";
-        }
+        $argumentsCountCheckString .= "        return throwError(\"Not enough arguments\", V8Proxy::TypeError);\n";
     }
     return $argumentsCountCheckString;
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.cpp (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.cpp	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.cpp	2011-11-14 19:11:57 UTC (rev 100163)
@@ -699,14 +699,6 @@
     return toWebKit(WTF::getPtr(impl()->objMethodWithArgs(intArg, strArg, toWebCore(objArg))));
 }
 
-WebDOMTestObj WebDOMTestObj::methodThatRequiresAllArgs(const WebDOMString& strArg, const WebDOMTestObj& objArg)
-{
-    if (!impl())
-        return WebDOMTestObj();
-
-    return toWebKit(WTF::getPtr(impl()->methodThatRequiresAllArgs(strArg, toWebCore(objArg))));
-}
-
 WebDOMTestObj WebDOMTestObj::methodThatRequiresAllArgsAndThrows(const WebDOMString& strArg, const WebDOMTestObj& objArg)
 {
     if (!impl())

Modified: trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.h (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.h	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.h	2011-11-14 19:11:57 UTC (rev 100163)
@@ -151,7 +151,6 @@
     int intMethodWithArgs(int intArg, const WebDOMString& strArg, const WebDOMTestObj& objArg);
     WebDOMTestObj objMethod();
     WebDOMTestObj objMethodWithArgs(int intArg, const WebDOMString& strArg, const WebDOMTestObj& objArg);
-    WebDOMTestObj methodThatRequiresAllArgs(const WebDOMString& strArg, const WebDOMTestObj& objArg);
     WebDOMTestObj methodThatRequiresAllArgsAndThrows(const WebDOMString& strArg, const WebDOMTestObj& objArg);
     void serializedValue(const WebDOMString& serializedArg);
     void idbKey(const WebDOMIDBKey& key);

Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp	2011-11-14 19:11:57 UTC (rev 100163)
@@ -141,25 +141,6 @@
 }
 
 WebKitDOMTestObj*
-webkit_dom_test_obj_method_that_requires_all_args(WebKitDOMTestObj* self, const gchar* str_arg, WebKitDOMTestObj* obj_arg)
-{
-    g_return_val_if_fail(self, 0);
-    WebCore::JSMainThreadNullState state;
-    WebCore::TestObj * item = WebKit::core(self);
-    g_return_val_if_fail(str_arg, 0);
-    g_return_val_if_fail(obj_arg, 0);
-    WTF::String converted_str_arg = WTF::String::fromUTF8(str_arg);
-    WebCore::TestObj * converted_obj_arg = NULL;
-    if (obj_arg != NULL) {
-        converted_obj_arg = WebKit::core(obj_arg);
-        g_return_val_if_fail(converted_obj_arg, 0);
-    }
-    PassRefPtr<WebCore::TestObj> g_res = WTF::getPtr(item->methodThatRequiresAllArgs(converted_str_arg, converted_obj_arg));
-    WebKitDOMTestObj* res = WebKit::kit(g_res.get());
-    return res;
-}
-
-WebKitDOMTestObj*
 webkit_dom_test_obj_method_that_requires_all_args_and_throws(WebKitDOMTestObj* self, const gchar* str_arg, WebKitDOMTestObj* obj_arg, GError **error)
 {
     g_return_val_if_fail(self, 0);

Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h	2011-11-14 19:11:57 UTC (rev 100163)
@@ -116,18 +116,6 @@
 webkit_dom_test_obj_obj_method_with_args(WebKitDOMTestObj* self, glong int_arg, const gchar* str_arg, WebKitDOMTestObj* obj_arg);
 
 /**
- * webkit_dom_test_obj_method_that_requires_all_args:
- * @self: A #WebKitDOMTestObj
- * @str_arg: A #gchar
- * @obj_arg: A #WebKitDOMTestObj
- *
- * Returns: (transfer none):
- *
-**/
-WEBKIT_API WebKitDOMTestObj*
-webkit_dom_test_obj_method_that_requires_all_args(WebKitDOMTestObj* self, const gchar* str_arg, WebKitDOMTestObj* obj_arg);
-
-/**
  * webkit_dom_test_obj_method_that_requires_all_args_and_throws:
  * @self: A #WebKitDOMTestObj
  * @str_arg: A #gchar

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp	2011-11-14 19:11:57 UTC (rev 100163)
@@ -247,7 +247,6 @@
     { "intMethodWithArgs", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionIntMethodWithArgs), (intptr_t)3 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
     { "objMethod", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionObjMethod), (intptr_t)0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
     { "objMethodWithArgs", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionObjMethodWithArgs), (intptr_t)3 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
-    { "methodThatRequiresAllArgs", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodThatRequiresAllArgs), (intptr_t)2 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
     { "methodThatRequiresAllArgsAndThrows", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows), (intptr_t)2 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
     { "serializedValue", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionSerializedValue), (intptr_t)1 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
     { "idbKey", DontDelete | Function, (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionIdbKey), (intptr_t)1 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
@@ -1149,27 +1148,6 @@
     return JSValue::encode(result);
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs(ExecState* exec)
-{
-    JSValue thisValue = exec->hostThisValue();
-    if (!thisValue.inherits(&JSTestObj::s_info))
-        return throwVMTypeError(exec);
-    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
-    ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
-    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
-    if (exec->argumentCount() < 2)
-        return JSValue::encode(jsUndefined());
-    const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, MissingIsUndefined).toString(exec)));
-    if (exec->hadException())
-        return JSValue::encode(jsUndefined());
-    TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, MissingIsUndefined)));
-    if (exec->hadException())
-        return JSValue::encode(jsUndefined());
-
-    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->methodThatRequiresAllArgs(strArg, objArg)));
-    return JSValue::encode(result);
-}
-
 EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(ExecState* exec)
 {
     JSValue thisValue = exec->hostThisValue();

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h	2011-11-14 19:11:57 UTC (rev 100163)
@@ -136,7 +136,6 @@
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethodWithArgs(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionSerializedValue(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIdbKey(JSC::ExecState*);

Modified: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h	2011-11-14 19:11:57 UTC (rev 100163)
@@ -142,7 +142,6 @@
 - (int)intMethodWithArgs:(int)intArg strArg:(NSString *)strArg objArg:(DOMTestObj *)objArg;
 - (DOMTestObj *)objMethod;
 - (DOMTestObj *)objMethodWithArgs:(int)intArg strArg:(NSString *)strArg objArg:(DOMTestObj *)objArg;
-- (DOMTestObj *)methodThatRequiresAllArgs:(NSString *)strArg objArg:(DOMTestObj *)objArg;
 - (DOMTestObj *)methodThatRequiresAllArgsAndThrows:(NSString *)strArg objArg:(DOMTestObj *)objArg;
 - (void)serializedValue:(NSString *)serializedArg;
 - (void)idbKey:(DOMIDBKey *)key;

Modified: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm	2011-11-14 19:11:57 UTC (rev 100163)
@@ -574,12 +574,6 @@
     return kit(WTF::getPtr(IMPL->objMethodWithArgs(intArg, strArg, core(objArg))));
 }
 
-- (DOMTestObj *)methodThatRequiresAllArgs:(NSString *)strArg objArg:(DOMTestObj *)objArg
-{
-    WebCore::JSMainThreadNullState state;
-    return kit(WTF::getPtr(IMPL->methodThatRequiresAllArgs(strArg, core(objArg))));
-}
-
 - (DOMTestObj *)methodThatRequiresAllArgsAndThrows:(NSString *)strArg objArg:(DOMTestObj *)objArg
 {
     WebCore::JSMainThreadNullState state;

Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl	2011-11-14 19:11:57 UTC (rev 100163)
@@ -71,7 +71,6 @@
         TestObj objMethod();
         TestObj objMethodWithArgs(in long intArg, in DOMString strArg, in TestObj objArg);
 
-        [RequiresAllArguments] TestObj methodThatRequiresAllArgs(in DOMString strArg, in TestObj objArg);
         TestObj methodThatRequiresAllArgsAndThrows(in DOMString strArg, in TestObj objArg)
             raises(DOMException);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp (100162 => 100163)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp	2011-11-14 19:11:57 UTC (rev 100163)
@@ -772,17 +772,6 @@
     return toV8(imp->objMethodWithArgs(intArg, strArg, objArg));
 }
 
-static v8::Handle<v8::Value> methodThatRequiresAllArgsCallback(const v8::Arguments& args)
-{
-    INC_STATS("DOM.TestObj.methodThatRequiresAllArgs");
-    if (args.Length() < 2)
-        return v8::Handle<v8::Value>();
-    TestObj* imp = V8TestObj::toNative(args.Holder());
-    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined));
-    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);
-    return toV8(imp->methodThatRequiresAllArgs(strArg, objArg));
-}
-
 static v8::Handle<v8::Value> methodThatRequiresAllArgsAndThrowsCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TestObj.methodThatRequiresAllArgsAndThrows");
@@ -1553,12 +1542,6 @@
     v8::Handle<v8::Signature> objMethodWithArgsSignature = v8::Signature::New(desc, objMethodWithArgsArgc, objMethodWithArgsArgv);
     proto->Set(v8::String::New("objMethodWithArgs"), v8::FunctionTemplate::New(TestObjInternal::objMethodWithArgsCallback, v8::Handle<v8::Value>(), objMethodWithArgsSignature));
 
-    // Custom Signature 'methodThatRequiresAllArgs'
-    const int methodThatRequiresAllArgsArgc = 2;
-    v8::Handle<v8::FunctionTemplate> methodThatRequiresAllArgsArgv[methodThatRequiresAllArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() };
-    v8::Handle<v8::Signature> methodThatRequiresAllArgsSignature = v8::Signature::New(desc, methodThatRequiresAllArgsArgc, methodThatRequiresAllArgsArgv);
-    proto->Set(v8::String::New("methodThatRequiresAllArgs"), v8::FunctionTemplate::New(TestObjInternal::methodThatRequiresAllArgsCallback, v8::Handle<v8::Value>(), methodThatRequiresAllArgsSignature));
-
     // Custom Signature 'methodThatRequiresAllArgsAndThrows'
     const int methodThatRequiresAllArgsAndThrowsArgc = 2;
     v8::Handle<v8::FunctionTemplate> methodThatRequiresAllArgsAndThrowsArgv[methodThatRequiresAllArgsAndThrowsArgc] = { v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() };

Modified: trunk/Source/WebCore/dom/Clipboard.idl (100162 => 100163)


--- trunk/Source/WebCore/dom/Clipboard.idl	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/dom/Clipboard.idl	2011-11-14 19:11:57 UTC (rev 100163)
@@ -38,8 +38,7 @@
             raises(DOMException);
         [Custom] void getData(in DOMString type)
             raises(DOMException);
-        // FIXME: RequiresAllArguments is probably bogus here.
-        [RequiresAllArguments] boolean setData(in DOMString type, in DOMString data);
+        boolean setData(in DOMString type, in DOMString data);
         [Custom] void setDragImage(in HTMLImageElement image, in long x, in long y)
             raises(DOMException);
 

Modified: trunk/Source/WebCore/page/DOMWindow.idl (100162 => 100163)


--- trunk/Source/WebCore/page/DOMWindow.idl	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/page/DOMWindow.idl	2011-11-14 19:11:57 UTC (rev 100163)
@@ -106,13 +106,13 @@
         readonly attribute long pageXOffset;
         readonly attribute long pageYOffset;
 
-        [RequiresAllArguments] void scrollBy(in long x, in long y);
-        [RequiresAllArguments] void scrollTo(in long x, in long y);
-        [RequiresAllArguments] void scroll(in long x, in long y);
-        [RequiresAllArguments] void moveBy(in float x, in float y); // FIXME: this should take longs not floats.
-        [RequiresAllArguments] void moveTo(in float x, in float y); // FIXME: this should take longs not floats.
-        [RequiresAllArguments] void resizeBy(in float x, in float y); // FIXME: this should take longs not floats.
-        [RequiresAllArguments] void resizeTo(in float width, in float height); // FIXME: this should take longs not floats.
+        void scrollBy(in [Optional=CallWithDefaultValue] long x, in [Optional=CallWithDefaultValue] long y);
+        void scrollTo(in [Optional=CallWithDefaultValue] long x, in [Optional=CallWithDefaultValue] long y);
+        void scroll(in [Optional=CallWithDefaultValue] long x, in [Optional=CallWithDefaultValue] long y);
+        void moveBy(in [Optional=CallWithDefaultValue] float x, in [Optional=CallWithDefaultValue] float y); // FIXME: this should take longs not floats.
+        void moveTo(in [Optional=CallWithDefaultValue] float x, in [Optional=CallWithDefaultValue] float y); // FIXME: this should take longs not floats.
+        void resizeBy(in [Optional=CallWithDefaultValue] float x, in [Optional=CallWithDefaultValue] float y); // FIXME: this should take longs not floats.
+        void resizeTo(in [Optional=CallWithDefaultValue] float width, in [Optional=CallWithDefaultValue] float height); // FIXME: this should take longs not floats.
 
         readonly attribute [DoNotCheckDomainSecurity] boolean closed;
 

Modified: trunk/Source/WebCore/websockets/WebSocket.idl (100162 => 100163)


--- trunk/Source/WebCore/websockets/WebSocket.idl	2011-11-14 18:06:35 UTC (rev 100162)
+++ trunk/Source/WebCore/websockets/WebSocket.idl	2011-11-14 19:11:57 UTC (rev 100163)
@@ -67,9 +67,9 @@
         // should accept anything that can be converted to a string (including numbers,
         // booleans, null, undefined and objects except ArrayBuffer and Blob). Current code
         // generator does not handle this rule correctly.
-        // [RequiresAllArguments] boolean send(in ArrayBuffer data) raises(DOMException);
-        // [RequiresAllArguments] boolean send(in Blob data) raises(DOMException);
-        // [RequiresAllArguments] boolean send(in DOMString data) raises(DOMException);
+        // boolean send(in ArrayBuffer data) raises(DOMException);
+        // boolean send(in Blob data) raises(DOMException);
+        // boolean send(in DOMString data) raises(DOMException);
         [Custom] boolean send(in DOMString data) raises(DOMException);
 
         // FIXME: Implement and apply [Clamp] attribute instead of [Custom].
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to