[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
zimmermann at webkit.org
zimmermann at webkit.org
Wed Dec 22 14:54:30 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 30898c7f26c742a7f2781ba84f6c9dda5833333a
Author: zimmermann at webkit.org <zimmermann at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sun Oct 24 11:58:15 2010 +0000
2010-10-24 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Dirk Schulze.
Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
https://bugs.webkit.org/show_bug.cgi?id=48179
Speculative fix for the WebGL tests, I was not aware they're not run on Leopard, so I missed the breakage.
* bindings/scripts/CodeGeneratorJS.pm: Restore the order of type checking in the 'StrictTypeChecking' code.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f69c7e9..6b14a83 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-24 Nikolas Zimmermann <nzimmermann at rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
+ https://bugs.webkit.org/show_bug.cgi?id=48179
+
+ Speculative fix for the WebGL tests, I was not aware they're not run on Leopard, so I missed the breakage.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Restore the order of type checking in the 'StrictTypeChecking' code.
+ * bindings/scripts/CodeGeneratorV8.pm: Ditto.
+
2010-10-23 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Dirk Schulze.
diff --git a/WebCore/bindings/scripts/CodeGeneratorJS.pm b/WebCore/bindings/scripts/CodeGeneratorJS.pm
index 9370e15..671a529 100644
--- a/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -1811,18 +1811,18 @@ sub GenerateImplementation
# a TypeError is thrown instead of casting to null.
if ($attribute->signature->extendedAttributes->{"StrictTypeChecking"}) {
my $argType = $attribute->signature->type;
- if ($codeGenerator->IsStringType($argType)) {
- push(@implContent, " if (!value.isUndefinedOrNull() && !value.isString() && !value.isObject()) {\n");
+ if (!IsNativeType($argType)) {
+ push(@implContent, " if (!value.isUndefinedOrNull() && !value.inherits(&JS${argType}::s_info)) {\n");
push(@implContent, " throwVMTypeError(exec);\n");
push(@implContent, " return;\n");
push(@implContent, " };\n");
- } elsif ($codeGenerator->IsNumericType($argType)) {
- push(@implContent, " if (!value.isUndefinedOrNull() && !value.isNumber()) {\n");
+ } elsif ($codeGenerator->IsStringType($argType)) {
+ push(@implContent, " if (!value.isUndefinedOrNull() && !value.isString() && !value.isObject()) {\n");
push(@implContent, " throwVMTypeError(exec);\n");
push(@implContent, " return;\n");
push(@implContent, " };\n");
- } elsif (!IsNativeType($argType)) {
- push(@implContent, " if (!value.isUndefinedOrNull() && !value.inherits(&JS${argType}::s_info)) {\n");
+ } elsif ($codeGenerator->IsNumericType($argType)) {
+ push(@implContent, " if (!value.isUndefinedOrNull() && !value.isNumber()) {\n");
push(@implContent, " throwVMTypeError(exec);\n");
push(@implContent, " return;\n");
push(@implContent, " };\n");
@@ -2078,16 +2078,16 @@ sub GenerateImplementation
# a TypeError is thrown instead of casting to null.
if ($function->signature->extendedAttributes->{"StrictTypeChecking"}) {
my $argValue = "exec->argument($argsIndex)";
- if ($codeGenerator->IsStringType($argType)) {
+ if (!IsNativeType($argType)) {
+ push(@implContent, " if (exec->argumentCount() > $argsIndex && !${argValue}.isUndefinedOrNull() && !${argValue}.inherits(&JS${argType}::s_info))\n");
+ push(@implContent, " return throwVMTypeError(exec);\n");
+ } elsif ($codeGenerator->IsStringType($argType)) {
push(@implContent, " if (exec->argumentCount() > $argsIndex && !${argValue}.isUndefinedOrNull() && !${argValue}.isString() && !${argValue}.isObject())\n");
push(@implContent, " return throwVMTypeError(exec);\n");
} elsif ($codeGenerator->IsNumericType($argType)) {
push(@implContent, " if (exec->argumentCount() > $argsIndex && !${argValue}.isUndefinedOrNull() && !${argValue}.isNumber())\n");
push(@implContent, " return throwVMTypeError(exec);\n");
- } elsif (!IsNativeType($argType)) {
- push(@implContent, " if (exec->argumentCount() > $argsIndex && !${argValue}.isUndefinedOrNull() && !${argValue}.inherits(&JS${argType}::s_info))\n");
- push(@implContent, " return throwVMTypeError(exec);\n");
- }
+ }
}
push(@implContent, " " . GetNativeTypeFromSignature($parameter) . " $name = " . JSValueToNative($parameter, "exec->argument($argsIndex)") . ";\n");
diff --git a/WebCore/bindings/scripts/CodeGeneratorV8.pm b/WebCore/bindings/scripts/CodeGeneratorV8.pm
index d45058b..fca77a2 100644
--- a/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -942,18 +942,18 @@ sub GenerateNormalAttrSetter
# a TypeError is thrown instead of casting to null.
if ($attribute->signature->extendedAttributes->{"StrictTypeChecking"}) {
my $argType = GetTypeFromSignature($attribute->signature);
- if ($codeGenerator->IsStringType($argType)) {
- push(@implContentDecls, " if (!isUndefinedOrNull(value) && !value->IsString() && !value->IsObject()) {\n");
+ if (IsWrapperType($argType)) {
+ push(@implContentDecls, " if (!isUndefinedOrNull(value) && !V8${argType}::HasInstance(value)) {\n");
push(@implContentDecls, " V8Proxy::throwTypeError();\n");
push(@implContentDecls, " return;\n");
push(@implContentDecls, " }\n");
- } elsif ($codeGenerator->IsNumericType($argType)) {
- push(@implContentDecls, " if (!isUndefinedOrNull(value) && !value->IsNumber()) {\n");
+ } elsif ($codeGenerator->IsStringType($argType)) {
+ push(@implContentDecls, " if (!isUndefinedOrNull(value) && !value->IsString() && !value->IsObject()) {\n");
push(@implContentDecls, " V8Proxy::throwTypeError();\n");
push(@implContentDecls, " return;\n");
push(@implContentDecls, " }\n");
- } elsif (IsWrapperType($argType)) {
- push(@implContentDecls, " if (!isUndefinedOrNull(value) && !V8${argType}::HasInstance(value)) {\n");
+ } elsif ($codeGenerator->IsNumericType($argType)) {
+ push(@implContentDecls, " if (!isUndefinedOrNull(value) && !value->IsNumber()) {\n");
push(@implContentDecls, " V8Proxy::throwTypeError();\n");
push(@implContentDecls, " return;\n");
push(@implContentDecls, " }\n");
@@ -1406,18 +1406,18 @@ END
if ($function->signature->extendedAttributes->{"StrictTypeChecking"}) {
my $argValue = "args[$paramIndex]";
my $argType = GetTypeFromSignature($parameter);
- if ($codeGenerator->IsStringType($argType)) {
- push(@implContentDecls, " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !${argValue}->IsString() && !${argValue}->IsObject()) {\n");
+ if (IsWrapperType($argType)) {
+ push(@implContentDecls, " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !V8${argType}::HasInstance($argValue)) {\n");
push(@implContentDecls, " V8Proxy::throwTypeError();\n");
push(@implContentDecls, " return notHandledByInterceptor();\n");
push(@implContentDecls, " }\n");
- } elsif ($codeGenerator->IsNumericType($argType)) {
- push(@implContentDecls, " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !${argValue}->IsNumber()) {\n");
+ } elsif ($codeGenerator->IsStringType($argType)) {
+ push(@implContentDecls, " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !${argValue}->IsString() && !${argValue}->IsObject()) {\n");
push(@implContentDecls, " V8Proxy::throwTypeError();\n");
push(@implContentDecls, " return notHandledByInterceptor();\n");
push(@implContentDecls, " }\n");
- } elsif (IsWrapperType($argType)) {
- push(@implContentDecls, " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !V8${argType}::HasInstance($argValue)) {\n");
+ } elsif ($codeGenerator->IsNumericType($argType)) {
+ push(@implContentDecls, " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !${argValue}->IsNumber()) {\n");
push(@implContentDecls, " V8Proxy::throwTypeError();\n");
push(@implContentDecls, " return notHandledByInterceptor();\n");
push(@implContentDecls, " }\n");
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list