2010-06-17 Kenneth Russell <kbr@google.com>
authorkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jun 2010 17:39:54 +0000 (17:39 +0000)
committerkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jun 2010 17:39:54 +0000 (17:39 +0000)
        Reviewed by Oliver Hunt.

        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
        https://bugs.webkit.org/show_bug.cgi?id=40750

        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
        with JSC::throwTypeError() and throwSyntaxError. Changed
        CodeGeneratorV8.pm to use throwTypeError for overload resolution
        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
        instead of manual call to JSValue::encode. Deleted now-unnecessary
        Chromium expectations for fast/canvas/webgl/texImageTest.html.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwTypeError):
        (WebCore::V8Proxy::throwSyntaxError):
        * bindings/v8/V8Proxy.h:
2010-06-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
        https://bugs.webkit.org/show_bug.cgi?id=40750

        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
        with JSC::throwTypeError() and throwSyntaxError. Changed
        CodeGeneratorV8.pm to use throwTypeError for overload resolution
        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
        instead of manual call to JSValue::encode. Deleted now-unnecessary
        Chromium expectations for fast/canvas/webgl/texImageTest.html.

        * platform/chromium-mac/fast/canvas/webgl/texImageTest-expected.txt: Removed.
        * platform/chromium/test_expectations.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@61337 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium-mac/fast/canvas/webgl/texImageTest-expected.txt [deleted file]
LayoutTests/platform/chromium/test_expectations.txt
WebCore/ChangeLog
WebCore/bindings/scripts/CodeGeneratorJS.pm
WebCore/bindings/scripts/CodeGeneratorV8.pm
WebCore/bindings/v8/V8Proxy.cpp
WebCore/bindings/v8/V8Proxy.h

index 2a39c766e5fb2511bfe3a552800662784b9ffb9f..7939c25febd698f0831a76a4dd0362fbb60daffd 100644 (file)
@@ -1,3 +1,20 @@
+2010-06-17  Kenneth Russell  <kbr@google.com>
+
+        Reviewed by Oliver Hunt.
+
+        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
+        https://bugs.webkit.org/show_bug.cgi?id=40750
+
+        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
+        with JSC::throwTypeError() and throwSyntaxError. Changed
+        CodeGeneratorV8.pm to use throwTypeError for overload resolution
+        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
+        instead of manual call to JSValue::encode. Deleted now-unnecessary
+        Chromium expectations for fast/canvas/webgl/texImageTest.html.
+
+        * platform/chromium-mac/fast/canvas/webgl/texImageTest-expected.txt: Removed.
+        * platform/chromium/test_expectations.txt:
+
 2010-06-17  Martin Robinson  <mrobinson@igalia.com>
 
         Unreviewed.
diff --git a/LayoutTests/platform/chromium-mac/fast/canvas/webgl/texImageTest-expected.txt b/LayoutTests/platform/chromium-mac/fast/canvas/webgl/texImageTest-expected.txt
deleted file mode 100644 (file)
index f5342ab..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-Test of texImage2d and texSubImage2d
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS context.texImage2D(context.TEXTURE_2D) threw exception Error: SYNTAX_ERR: DOM Exception 12.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 64, 64, 0, context.RGBA, context.UNSIGNED_BYTE, null) is undefined.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, context.RGBA, context.UNSIGNED_BYTE, 0) threw exception Error: SYNTAX_ERR: DOM Exception 12.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 2, 2, 0, context.RGBA, context.UNSIGNED_BYTE, array) is undefined.
-PASS context.texImage2D(context.TEXTURE_2D, 0, imageData, true) is undefined.
-PASS context.texImage2D(context.TEXTURE_2D, 0, image) is undefined.
-PASS context.texImage2D(context.TEXTURE_2D, 0, canvas2d, false) is undefined.
-PASS context.texImage2D(context.TEXTURE_2D, 0, video, true, false) is undefined.
-PASS context.texSubImage2D(context.TEXTURE_2D) threw exception Error: SYNTAX_ERR: DOM Exception 12.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, 0, 0, context.RGBA, context.UNSIGNED_BYTE, null) is undefined.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, 0, 0, context.RGBA, context.UNSIGNED_BYTE, 0) threw exception Error: SYNTAX_ERR: DOM Exception 12.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, 0, context.UNSIGNED_BYTE, 0) threw exception Error: SYNTAX_ERR: DOM Exception 12.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, imageData, false) is undefined.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, image) is undefined.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, canvas2d, true) is undefined.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 10, 20, video, false, true) is undefined.
-PASS successfullyParsed is true
-
-TEST COMPLETE
index 50b9835bf719017c7172fa63c2796126ba6a7245..5b264cd6391b6c805fa0deec70e13063e685c959 100644 (file)
@@ -2866,9 +2866,6 @@ BUG_HAMAJI WIN LINUX : svg/W3C-SVG-1.1/fonts-glyph-02-t.svg = IMAGE+TEXT
 // WebKit r60999 updated acid3.html, doesn't match expected on Chromium Mac.
 BUG46375 MAC : http/tests/misc/acid3.html = IMAGE
 
-// Fails since WebKit r61020.
-BUG46435 MAC : fast/canvas/webgl/texImageTest.html = TEXT
-
 // These need rebaseline after http://trac.webkit.org/changeset/61128
 BUGDIMICH MAC WIN LINUX : css1/box_properties/clear_float.html = IMAGE
 BUGDIMICH MAC WIN LINUX : css1/box_properties/float_on_text_elements.html = IMAGE
index 21787bc2bf9035e54fd7ebbf7fac60e0a53d270f..54745650f842e79bb7999dbce0c34e9d7ba5835e 100644 (file)
@@ -1,3 +1,24 @@
+2010-06-17  Kenneth Russell  <kbr@google.com>
+
+        Reviewed by Oliver Hunt.
+
+        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
+        https://bugs.webkit.org/show_bug.cgi?id=40750
+
+        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
+        with JSC::throwTypeError() and throwSyntaxError. Changed
+        CodeGeneratorV8.pm to use throwTypeError for overload resolution
+        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
+        instead of manual call to JSValue::encode. Deleted now-unnecessary
+        Chromium expectations for fast/canvas/webgl/texImageTest.html.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bindings/scripts/CodeGeneratorV8.pm:
+        * bindings/v8/V8Proxy.cpp:
+        (WebCore::V8Proxy::throwTypeError):
+        (WebCore::V8Proxy::throwSyntaxError):
+        * bindings/v8/V8Proxy.h:
+
 2010-06-17  Darin Fisher  <darin@chromium.org>
 
         Reviewed by Brady Eidson.
index 409059c271e1f7a48bbcbad1f446b54fb3932cce..3cf623905c2913d52a2f1e0ecf5d3996f0ff71fd 100644 (file)
@@ -1170,7 +1170,7 @@ END
         push(@implContent, "        return ${functionName}$overload->{overloadIndex}(exec);\n");
     }
     push(@implContent, <<END);
-    return JSValue::encode(throwTypeError(exec));
+    return throwVMTypeError(exec);
 }
 
 END
index d5f8406724db4d0d9795d183e2fa23da3589e106..c647a3baf987bff0dc108195cdb8513442a98ef5 100644 (file)
@@ -1104,7 +1104,7 @@ END
         push(@implContentDecls, "        return ${name}$overload->{overloadIndex}Callback(args);\n");
     }
     push(@implContentDecls, <<END);
-    V8Proxy::setDOMException(SYNTAX_ERR);
+    V8Proxy::throwTypeError();
     return notHandledByInterceptor();
 END
     push(@implContentDecls, "}\n\n");
index 906d2b50c56bd5017e352a737a5da7adda5fa053..3413f4f788fce0b2f30882daa19eeb9ed54f7618 100644 (file)
@@ -704,6 +704,16 @@ v8::Handle<v8::Value> V8Proxy::throwError(ErrorType type, const char* message)
     }
 }
 
+v8::Handle<v8::Value> V8Proxy::throwTypeError()
+{
+    return throwError(TypeError, "Type error");
+}
+
+v8::Handle<v8::Value> V8Proxy::throwSyntaxError()
+{
+    return throwError(SyntaxError, "Syntax error");
+}
+
 v8::Local<v8::Context> V8Proxy::context(Frame* frame)
 {
     v8::Local<v8::Context> context = V8Proxy::mainWorldContext(frame);
index 098d956e2c620d7154c62e2ee6d4a5332a30c204..171950bed1fa0abfdd44b8883d8348e0e94bb4e6 100644 (file)
@@ -294,6 +294,10 @@ namespace WebCore {
         // Schedule an error object to be thrown.
         static v8::Handle<v8::Value> throwError(ErrorType, const char* message);
 
+        // Helpers for throwing syntax and type errors with predefined messages.
+        static v8::Handle<v8::Value> throwTypeError();
+        static v8::Handle<v8::Value> throwSyntaxError();
+
         template <typename T>
         static v8::Handle<v8::Value> constructDOMObject(const v8::Arguments&, WrapperTypeInfo*);