[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

weinig at apple.com weinig at apple.com
Wed Dec 22 11:19:34 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit ac47373ebcab085380a023d03be5cba69d519853
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jul 19 17:18:30 2010 +0000

    2010-07-19  Sheriff Bot  <webkit.review.bot at gmail.com>
    
            Unreviewed, rolling out r63671.
            http://trac.webkit.org/changeset/63671
            https://bugs.webkit.org/show_bug.cgi?id=42575
    
            broke windows (Requested by weinig on #webkit).
    
            * WebKitTestRunner/Configurations/Base.xcconfig:
            * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
            * WebKitTestRunner/DerivedSources.make: Removed.
            * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Removed.
            * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Removed.
            * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Removed.
            * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Removed.
            * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Removed.
            * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed.
            * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
            (WTR::InjectedBundlePage::dump):
            (WTR::InjectedBundlePage::setStatusbarText):
            * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
            (WTR::LayoutTestController::setWaitToDump):
            (WTR::displayCallback):
            (WTR::dumpAsTextCallback):
            (WTR::dumpStatusCallbacksCallback):
            (WTR::waitUntilDoneCallback):
            (WTR::notifyDoneCallback):
            (WTR::numberOfActiveAnimationsCallback):
            (WTR::pauseAnimationAtTimeOnElementWithIdCallback):
            (WTR::repaintSweepHorizontallyCallback):
            (WTR::testRepaintCallback):
            (WTR::layoutTestControllerObjectFinalize):
            (WTR::LayoutTestController::makeWindowObject):
            (WTR::LayoutTestController::getJSClass):
            (WTR::LayoutTestController::staticFunctions):
            * WebKitTestRunner/InjectedBundle/LayoutTestController.h:
            (WTR::LayoutTestController::dumpAsText):
            (WTR::LayoutTestController::setDumpAsText):
            (WTR::LayoutTestController::dumpStatusCallbacks):
            (WTR::LayoutTestController::setDumpStatusCallbacks):
            (WTR::LayoutTestController::setTestRepaint):
            (WTR::LayoutTestController::setTestRepaintSweepHorizontally):
            * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63674 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 2ba5602..7fa4959 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,47 @@
+2010-07-19  Sheriff Bot  <webkit.review.bot at gmail.com>
+
+        Unreviewed, rolling out r63671.
+        http://trac.webkit.org/changeset/63671
+        https://bugs.webkit.org/show_bug.cgi?id=42575
+
+        broke windows (Requested by weinig on #webkit).
+
+        * WebKitTestRunner/Configurations/Base.xcconfig:
+        * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
+        * WebKitTestRunner/DerivedSources.make: Removed.
+        * WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h: Removed.
+        * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Removed.
+        * WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h: Removed.
+        * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp: Removed.
+        * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h: Removed.
+        * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed.
+        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+        (WTR::InjectedBundlePage::dump):
+        (WTR::InjectedBundlePage::setStatusbarText):
+        * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
+        (WTR::LayoutTestController::setWaitToDump):
+        (WTR::displayCallback):
+        (WTR::dumpAsTextCallback):
+        (WTR::dumpStatusCallbacksCallback):
+        (WTR::waitUntilDoneCallback):
+        (WTR::notifyDoneCallback):
+        (WTR::numberOfActiveAnimationsCallback):
+        (WTR::pauseAnimationAtTimeOnElementWithIdCallback):
+        (WTR::repaintSweepHorizontallyCallback):
+        (WTR::testRepaintCallback):
+        (WTR::layoutTestControllerObjectFinalize):
+        (WTR::LayoutTestController::makeWindowObject):
+        (WTR::LayoutTestController::getJSClass):
+        (WTR::LayoutTestController::staticFunctions):
+        * WebKitTestRunner/InjectedBundle/LayoutTestController.h:
+        (WTR::LayoutTestController::dumpAsText):
+        (WTR::LayoutTestController::setDumpAsText):
+        (WTR::LayoutTestController::dumpStatusCallbacks):
+        (WTR::LayoutTestController::setDumpStatusCallbacks):
+        (WTR::LayoutTestController::setTestRepaint):
+        (WTR::LayoutTestController::setTestRepaintSweepHorizontally):
+        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
+
 2010-07-19  Sam Weinig  <sam at webkit.org>
 
         Reviewed by Adam Roben.
diff --git a/WebKitTools/WebKitTestRunner/Configurations/Base.xcconfig b/WebKitTools/WebKitTestRunner/Configurations/Base.xcconfig
index 7ceab07..af3f4e6 100644
--- a/WebKitTools/WebKitTestRunner/Configurations/Base.xcconfig
+++ b/WebKitTools/WebKitTestRunner/Configurations/Base.xcconfig
@@ -66,6 +66,3 @@ SDKROOT_1060_1050 = macosx10.5;
 SDKROOT_1070_1040 = macosx10.4;
 SDKROOT_1070_1050 = macosx10.5;
 SDKROOT_1070_1060 = macosx10.6;
-
-WEBKIT_UMBRELLA_FRAMEWORKS_DIR = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
-WEBCORE_PRIVATE_HEADERS_DIR = $(WEBKIT_UMBRELLA_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
diff --git a/WebKitTools/WebKitTestRunner/Configurations/DebugRelease.xcconfig b/WebKitTools/WebKitTestRunner/Configurations/DebugRelease.xcconfig
index 41600b1..8b156e8 100644
--- a/WebKitTools/WebKitTestRunner/Configurations/DebugRelease.xcconfig
+++ b/WebKitTools/WebKitTestRunner/Configurations/DebugRelease.xcconfig
@@ -38,5 +38,3 @@ MACOSX_DEPLOYMENT_TARGET_1040 = 10.4;
 MACOSX_DEPLOYMENT_TARGET_1050 = 10.5;
 MACOSX_DEPLOYMENT_TARGET_1060 = 10.6;
 MACOSX_DEPLOYMENT_TARGET_1070 = 10.7;
-
-WEBKIT_UMBRELLA_FRAMEWORKS_DIR = $(BUILT_PRODUCTS_DIR);
diff --git a/WebKitTools/WebKitTestRunner/DerivedSources.make b/WebKitTools/WebKitTestRunner/DerivedSources.make
deleted file mode 100644
index 6134380..0000000
--- a/WebKitTools/WebKitTestRunner/DerivedSources.make
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2010 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-# THE POSSIBILITY OF SUCH DAMAGE.
-
-VPATH = \
-    $(WebKitTestRunner)/InjectedBundle/Bindings \
-#
-
-INTERFACES = \
-    LayoutTestController \
-#
-
-SCRIPTS = \
-    $(WebCoreScripts)/CodeGenerator.pm \
-    $(WebKitTestRunner)/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm \
-    $(WebCoreScripts)/IDLParser.pm \
-    $(WebCoreScripts)/IDLStructure.pm \
-    $(WebCoreScripts)/generate-bindings.pl \
-#
-
-.PHONY : all
-
-JS%.h JS%.cpp : %.idl $(SCRIPTS)
-	@echo Generating bindings for $*...
-	@perl -I $(WebCoreScripts) -I $(WebKitTestRunner)/InjectedBundle/Bindings $(WebCoreScripts)/generate-bindings.pl --defines "" --include InjectedBundle/Bindings --outputDir . --generator TestRunner $<
-
-all : \
-    $(INTERFACES:%=JS%.h) \
-    $(INTERFACES:%=JS%.cpp) \
-#
diff --git a/WebKitTools/WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h b/WebKitTools/WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h
deleted file mode 100644
index aedd784..0000000
--- a/WebKitTools/WebKitTestRunner/ForwardingHeaders/wtf/GetPtr.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <JavaScriptCore/GetPtr.h>
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm b/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm
deleted file mode 100644
index d72d4fc..0000000
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright (C) 2010 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-# THE POSSIBILITY OF SUCH DAMAGE.
-
-use strict;
-use warnings;
-use File::Spec;
-
-package CodeGeneratorTestRunner;
-
-sub new
-{
-    my ($class, $codeGenerator, $outputDir) = @_;
-
-    my $reference = {
-        codeGenerator => $codeGenerator,
-        outputDir => $outputDir,
-    };
-
-    bless($reference, $class);
-    return $reference;
-}
-
-sub GenerateModule
-{
-}
-
-sub GenerateInterface
-{
-    my ($self, $interface, $defines) = @_;
-
-    foreach my $file ($self->_generateHeaderFile($interface), $self->_generateImplementationFile($interface)) {
-        open(FILE, ">", File::Spec->catfile($$self{outputDir}, $$file{name})) or die "Failed to open $$file{name} for writing: $!";
-        print FILE @{$$file{contents}};
-        close(FILE) or die "Failed to close $$file{name} after writing: $!";
-    }
-}
-
-sub finish
-{
-}
-
-sub _className
-{
-    my ($idlType) = @_;
-
-    return "JS" . _implementationClassName($idlType);
-}
-
-sub _classRefGetter
-{
-    my ($self, $idlType) = @_;
-    return $$self{codeGenerator}->WK_lcfirst(_implementationClassName($idlType)) . "Class";
-}
-
-sub _fileHeaderString
-{
-    my ($filename) = @_;
-
-    # FIXME: We should pull header out of the IDL file to get the copyright
-    # year(s) right.
-    return <<EOF;
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-EOF
-}
-
-sub _generateHeaderFile
-{
-    my ($self, $interface) = @_;
-
-    my @contents = ();
-
-    my $idlType = $interface->name;
-    my $className = _className($idlType);
-    my $implementationClassName = _implementationClassName($idlType);
-    my $filename = $className . ".h";
-
-    push(@contents, _fileHeaderString($filename));
-
-    my $parentClassName = _parentClassName($interface);
-
-    push(@contents, <<EOF);
-
-#ifndef ${className}_h
-#define ${className}_h
-
-#include "${parentClassName}.h"
-EOF
-    push(@contents, <<EOF);
-
-namespace WTR {
-
-class ${implementationClassName};
-
-class ${className} : public ${parentClassName} {
-public:
-    static JSClassRef @{[$self->_classRefGetter($idlType)]}();
-
-private:
-    static const JSStaticFunction* staticFunctions();
-    static const JSStaticValue* staticValues();
-EOF
-
-    if (my @functions = @{$interface->functions}) {
-        push(@contents, "\n    // Functions\n\n");
-        foreach my $function (@functions) {
-            push(@contents, "    static JSValueRef @{[$function->signature->name]}(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*);\n");
-        }
-    }
-
-    if (my @attributes = @{$interface->attributes}) {
-        push(@contents, "\n    // Attributes\n\n");
-        foreach my $attribute (@attributes) {
-            push(@contents, "    static JSValueRef @{[$self->_getterName($attribute)]}(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*);\n");
-            push(@contents, "    static bool @{[$self->_setterName($attribute)]}(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*);\n") unless $attribute->type =~ /^readonly/;
-        }
-    }
-
-    push(@contents, <<EOF);
-};
-    
-${implementationClassName}* to${implementationClassName}(JSContextRef, JSValueRef);
-
-} // namespace WTR
-
-#endif // ${className}_h
-EOF
-
-    return { name => $filename, contents => \@contents };
-}
-
-sub _generateImplementationFile
-{
-    my ($self, $interface) = @_;
-
-    my @contentsPrefix = ();
-    my %contentsIncludes = ();
-    my @contents = ();
-
-    my $idlType = $interface->name;
-    my $className = _className($idlType);
-    my $implementationClassName = _implementationClassName($idlType);
-    my $filename = $className . ".cpp";
-
-    push(@contentsPrefix, _fileHeaderString($filename));
-
-    my $classRefGetter = $self->_classRefGetter($idlType);
-    my $parentClassName = _parentClassName($interface);
-
-    $contentsIncludes{"${className}.h"} = 1;
-    $contentsIncludes{"${implementationClassName}.h"} = 1;
-
-    push(@contentsPrefix, <<EOF);
-
-EOF
-
-    push(@contents, <<EOF);
-#include <JavaScriptCore/JSRetainPtr.h>
-#include <wtf/GetPtr.h>
-
-namespace WTR {
-
-${implementationClassName}* to${implementationClassName}(JSContextRef context, JSValueRef value)
-{
-    if (!context || !value || !${className}::${classRefGetter}() || !JSValueIsObjectOfClass(context, value, ${className}::${classRefGetter}()))
-        return 0;
-    return static_cast<${implementationClassName}*>(JSWrapper::unwrap(context, value));
-}
-
-JSClassRef ${className}::${classRefGetter}()
-{
-    static JSClassRef jsClass;
-    if (!jsClass) {
-        JSClassDefinition definition = kJSClassDefinitionEmpty;
-        definition.className = "${idlType}";
-        definition.parentClass = @{[$self->_parentClassRefGetterExpression($interface)]};
-        definition.staticValues = staticValues();
-        definition.staticFunctions = staticFunctions();
-EOF
-
-    push(@contents, "        definition.initialize = initialize;\n") unless _parentInterface($interface);
-    push(@contents, "        definition.finalize = finalize;\n") unless _parentInterface($interface);
-
-    push(@contents, <<EOF);
-        jsClass = JSClassCreate(&definition);
-    }
-    return jsClass;
-}
-
-EOF
-
-    push(@contents, $self->_staticFunctionsGetterImplementation($interface), "\n");
-    push(@contents, $self->_staticValuesGetterImplementation($interface));
-
-    if (my @functions = @{$interface->functions}) {
-        push(@contents, "\n// Functions\n");
-
-        foreach my $function (@functions) {
-            push(@contents, <<EOF);
-
-JSValueRef ${className}::@{[$function->signature->name]}(JSContextRef context, JSObjectRef, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
-{
-    ${implementationClassName}* impl = to${implementationClassName}(context, thisObject);
-    if (!impl)
-        return JSValueMakeUndefined(context);
-EOF
-            my @parameters = ();
-            my @specifiedParameters = @{$function->parameters};
-
-            push(@contents, "\n") if scalar @specifiedParameters;
-
-            $self->_includeHeaders(\%contentsIncludes, $function->signature->type, $function->signature);
-
-            foreach my $i (0..$#specifiedParameters) {
-                my $parameter = $specifiedParameters[$i];
-
-                $self->_includeHeaders(\%contentsIncludes, $idlType, $parameter);
-
-                push(@contents, "    " . $self->_platformTypeVariableDeclaration($parameter, $parameter->name, "arguments[$i]", "argumentCount > $i") . "\n");
-                
-                push(@parameters, $self->_paramterExpression($parameter));
-            }
-
-            my $isVoidReturn = $function->signature->type eq "void";
-            my $functionName = "impl->" . $function->signature->name;
-            my $functionCall = $functionName . "(" . join(", ", @parameters) . ")";
-
-            push(@contents, "\n") unless scalar @specifiedParameters == 1;
-            push(@contents, "    ${functionCall};\n\n") if $isVoidReturn;
-            push(@contents, "    return " . $self->_returnExpression($function->signature, $functionCall) . ";\n}\n");
-        }
-    }
-
-    if (my @attributes = @{$interface->attributes}) {
-        push(@contents, "\n// Attributes\n");
-        foreach my $attribute (@attributes) {
-            $self->_includeHeaders(\%contentsIncludes, $attribute->signature->type, $attribute->signature);
-
-            my $getterName = $self->_getterName($attribute);
-            my $getterExpression = "impl->${getterName}()";
-
-            push(@contents, <<EOF);
-
-JSValueRef ${className}::${getterName}(JSContextRef context, JSObjectRef object, JSStringRef, JSValueRef* exception)
-{
-    ${implementationClassName}* impl = to${implementationClassName}(context, object);
-    if (!impl)
-        return JSValueMakeUndefined(context);
-
-    return @{[$self->_returnExpression($attribute->signature, $getterExpression)]};
-}
-EOF
-
-            unless ($attribute->type =~ /^readonly/) {
-                push(@contents, <<EOF);
-
-bool ${className}::@{[$self->_setterName($attribute)]}(JSContextRef context, JSObjectRef object, JSStringRef, JSValueRef value, JSValueRef* exception)
-{
-    ${implementationClassName}* impl = to${implementationClassName}(context, object);
-    if (!impl)
-        return false;
-
-EOF
-
-                my $platformValue = $self->_platformTypeConstructor($attribute->signature, "value");
-
-                push(@contents, <<EOF);
-    impl->@{[$self->_setterName($attribute)]}(${platformValue});
-
-    return true;
-}
-EOF
-            }
-        }
-    }
-
-    push(@contents, <<EOF);
-
-} // namespace WTR
-
-EOF
-
-    unshift(@contents, map { "#include \"$_\"\n" } sort keys(%contentsIncludes));
-    unshift(@contents, @contentsPrefix);
-
-    return { name => $filename, contents => \@contents };
-}
-
-sub _getterName
-{
-    my ($self, $attribute) = @_;
-
-    my $signature = $attribute->signature;
-    my $name = $signature->name;
-
-    return $name;
-}
-
-sub _includeHeaders
-{
-    my ($self, $headers, $idlType, $signature) = @_;
-
-    return unless defined $idlType;
-    return if $idlType eq "boolean" or $$self{codeGenerator}->IsNonPointerType($idlType);
-
-    $$headers{_className($idlType) . ".h"} = 1;
-    $$headers{_implementationClassName($idlType) . ".h"} = 1;
-}
-
-sub _implementationClassName
-{
-    my ($idlType) = @_;
-
-    return $idlType;
-}
-
-sub _parentClassName
-{
-    my ($interface) = @_;
-
-    my $parentInterface = _parentInterface($interface);
-    return $parentInterface ? _className($parentInterface) : "JSWrapper";
-}
-
-sub _parentClassRefGetterExpression
-{
-    my ($self, $interface) = @_;
-
-    my $parentInterface = _parentInterface($interface);
-    return $parentInterface ? $self->_classRefGetter($parentInterface) . "()" : "0";
-}
-
-sub _parentInterface
-{
-    my ($interface) = @_;
-    return $interface->parents->[0];
-}
-
-sub _platformType
-{
-    my ($self, $idlType, $signature) = @_;
-
-    return undef unless defined $idlType;
-
-    return "bool" if $idlType eq "boolean";
-    return "JSRetainPtr<JSStringRef>" if $$self{codeGenerator}->IsStringType($idlType);
-    return "double" if $$self{codeGenerator}->IsNonPointerType($idlType);
-    return _implementationClassName($idlType);
-}
-
-sub _platformTypeConstructor
-{
-    my ($self, $signature, $argumentName) = @_;
-
-    my $idlType = $signature->type;
-
-    return "JSRetainPtr<JSStringRef>(Adopt, JSValueToStringCopy(context, $argumentName, 0))" if $$self{codeGenerator}->IsStringType($idlType);
-    return "JSValueToBoolean(context, $argumentName)" if $idlType eq "boolean";
-    return "JSValueToNumber(context, $argumentName, 0)" if $$self{codeGenerator}->IsNonPointerType($idlType);
-    return "to" . _implementationClassName($idlType) . "(context, $argumentName)";
-}
-
-sub _platformTypeVariableDeclaration
-{
-    my ($self, $signature, $variableName, $argumentName, $condition) = @_;
-
-    my $platformType = $self->_platformType($signature->type, $signature);
-    my $constructor = $self->_platformTypeConstructor($signature, $argumentName);
-
-    my %nonPointerTypes = (
-        "bool" => 1,
-        "double" => 1,
-        "JSRetainPtr<JSStringRef>" => 1,
-    );
-
-    my $nullValue = "0";
-    $nullValue = "$platformType()" if defined $nonPointerTypes{$platformType} && $platformType ne "double";
-
-    $platformType .= "*" unless defined $nonPointerTypes{$platformType};
-
-    return "$platformType $variableName = $condition && $constructor;" if $condition && $platformType eq "bool";
-    return "$platformType $variableName = $condition ? $constructor : $nullValue;" if $condition;
-    return "$platformType $variableName = $constructor;";
-}
-
-sub _returnExpression
-{
-    my ($self, $signature, $expression) = @_;
-
-    my $convertNullStringAttribute = $signature->extendedAttributes->{"ConvertNullStringTo"};
-    my $nullOrEmptyString = "NullStringAsEmptyString";
-    $nullOrEmptyString = "NullStringAsNull" if defined $convertNullStringAttribute && $convertNullStringAttribute eq "Null";
-
-    my $returnIDLType = $signature->type;
-
-    return "JSValueMakeUndefined(context)" if $returnIDLType eq "void";
-    return "JSValueMakeBoolean(context, ${expression})" if $returnIDLType eq "boolean";
-    return "JSValueMakeNumber(context, ${expression})" if $$self{codeGenerator}->IsNonPointerType($returnIDLType);
-    return "toJS(context, WTF::getPtr(${expression}))";
-}
-
-sub _paramterExpression
-{
-    my ($self, $parameter) = @_;
-
-    my $idlType = $parameter->type;
-    my $name = $parameter->name;
-
-    return "${name}.get()" if $$self{codeGenerator}->IsStringType($idlType);
-    return $name;
-}
-
-sub _setterName
-{
-    my ($self, $attribute) = @_;
-
-    my $name = $attribute->signature->name;
-
-    return "set" . $$self{codeGenerator}->WK_ucfirst($name);
-}
-
-sub _staticFunctionsGetterImplementation
-{
-    my ($self, $interface) = @_;
-
-    my $mapFunction = sub {
-        my $name = $_->signature->name;
-        my @attributes = qw(kJSPropertyAttributeDontDelete kJSPropertyAttributeReadOnly);
-        push(@attributes, "kJSPropertyAttributeDontEnum") if $_->signature->extendedAttributes->{"DontEnum"};
-
-        return  "{ \"$name\", $name, " . join(" | ", @attributes) . " }";
-    };
-
-    return $self->_staticFunctionsOrValuesGetterImplementation($interface, "function", "{ 0, 0, 0 }", $mapFunction, $interface->functions);
-}
-
-sub _staticFunctionsOrValuesGetterImplementation
-{
-    my ($self, $interface, $functionOrValue, $arrayTerminator, $mapFunction, $functionsOrAttributes) = @_;
-
-    my $className = _className($interface->name);
-    my $uppercaseFunctionOrValue = $$self{codeGenerator}->WK_ucfirst($functionOrValue);
-
-    my $result = <<EOF;
-const JSStatic${uppercaseFunctionOrValue}* ${className}::static${uppercaseFunctionOrValue}s()
-{
-EOF
-
-    my @initializers = map(&$mapFunction, @{$functionsOrAttributes});
-    return $result . "    return 0;\n}\n" unless @initializers;
-
-    $result .= <<EOF
-    static const JSStatic${uppercaseFunctionOrValue} ${functionOrValue}s[] = {
-        @{[join(",\n        ", @initializers)]},
-        ${arrayTerminator}
-    };
-    return ${functionOrValue}s;
-}
-EOF
-}
-
-sub _staticValuesGetterImplementation
-{
-    my ($self, $interface) = @_;
-
-    my $mapFunction = sub {
-        return if $_->signature->extendedAttributes->{"NoImplementation"};
-
-        my $attributeName = $_->signature->name;
-        my $attributeIsReadonly = $_->type =~ /^readonly/;
-        my $getterName = $self->_getterName($_);
-        my $setterName = $attributeIsReadonly ? "0" : $self->_setterName($_);
-        my @attributes = qw(kJSPropertyAttributeDontDelete);
-        push(@attributes, "kJSPropertyAttributeReadOnly") if $attributeIsReadonly;
-        push(@attributes, "kJSPropertyAttributeDontEnum") if $_->signature->extendedAttributes->{"DontEnum"};
-
-        return "{ \"$attributeName\", $getterName, $setterName, " . join(" | ", @attributes) . " }";
-    };
-
-    return $self->_staticFunctionsOrValuesGetterImplementation($interface, "value", "{ 0, 0, 0, 0 }", $mapFunction, $interface->attributes);
-}
-
-1;
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h b/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h
deleted file mode 100644
index cf56c5d..0000000
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef JSWrappable_h
-#define JSWrappable_h
-
-#include <JavaScriptCore/JavaScriptCore.h>
-#include <wtf/RefCounted.h>
-
-namespace WTR {
-
-class JSWrappable : public RefCounted<JSWrappable> {
-public:
-    virtual ~JSWrappable() { }
-    virtual JSClassRef wrapperClass() = 0;
-};
-
-} // namespace WTR
-
-#endif // JSWrappable_h
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp b/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp
deleted file mode 100644
index a62cb2e..0000000
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "JSWrapper.h"
-
-#include <JavaScriptCore/JSContextRefPrivate.h>
-
-namespace WTR {
-
-JSValueRef JSWrapper::wrap(JSContextRef context, JSWrappable* object)
-{
-    ASSERT_ARG(context, context);
-
-    if (!object)
-        return JSValueMakeNull(context);
-
-    JSClassRef objectClass = object->wrapperClass();
-    ASSERT(objectClass);
-    JSObjectRef wrapperObject = JSObjectMake(context, objectClass, object);
-    ASSERT(wrapperObject);
-
-    return wrapperObject;
-}
-
-JSWrappable* JSWrapper::unwrap(JSContextRef context, JSValueRef value)
-{
-    ASSERT_ARG(context, context);
-    ASSERT_ARG(value, value);
-    if (!context || !value)
-        return 0;
-    return static_cast<JSWrappable*>(JSObjectGetPrivate(JSValueToObject(context, value, 0)));
-}
-
-static JSWrappable* unwrapObject(JSObjectRef object)
-{
-    JSWrappable* wrappable = static_cast<JSWrappable*>(JSObjectGetPrivate(object));
-    ASSERT(wrappable);
-    return wrappable;
-}
-
-void JSWrapper::initialize(JSContextRef ctx, JSObjectRef object)
-{
-    JSWrappable* wrappable = unwrapObject(object);
-    if (!wrappable)
-        return;
-    wrappable->ref();
-}
-
-void JSWrapper::finalize(JSObjectRef object)
-{
-    JSWrappable* wrappable = unwrapObject(object);
-    if (!wrappable)
-        return;
-    wrappable->deref();
-}
-
-} // namespace WTR
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h b/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h
deleted file mode 100644
index 9839cb4..0000000
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef JSWrapper_h
-#define JSWrapper_h
-
-#include "JSWrappable.h"
-
-namespace WTR {
-
-// FIXME: If necessary, we can do wrapper caching here.
-class JSWrapper {
-public:
-    static JSValueRef wrap(JSContextRef context, JSWrappable* object);
-    static JSWrappable* unwrap(JSContextRef context, JSValueRef value);
-
-    static void initialize(JSContextRef, JSObjectRef);
-    static void finalize(JSObjectRef);
-};
-
-inline JSValueRef toJS(JSContextRef context, JSWrappable* impl)
-{
-    return JSWrapper::wrap(context, impl);
-}
-
-} // namespace WTR
-
-#endif // JSWrapper_h
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl b/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl
deleted file mode 100644
index 7da2e81..0000000
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module WTR {
-
-    interface LayoutTestController {
-        void dumpAsText();
-        void dumpStatusCallbacks();
-
-        void waitUntilDone();
-        void notifyDone();
-
-        // Repaint testing
-        void testRepaint();
-        void repaintSweepHorizontally();
-        void display();
-
-        // Animation testing
-        int numberOfActiveAnimations();
-        boolean pauseAnimationAtTimeOnElementWithId(in DOMString animationName, in double time, in DOMString elementId);
-    };
-
-}
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp b/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
index f125ffd..7635238 100644
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
@@ -146,7 +146,7 @@ void InjectedBundlePage::dump()
 {
     InjectedBundle::shared().layoutTestController()->invalidateWaitToDumpWatchdog();
 
-    if (InjectedBundle::shared().layoutTestController()->shouldDumpAsText()) {
+    if (InjectedBundle::shared().layoutTestController()->dumpAsText()) {
         // FIXME: Support dumping subframes when layoutTestController()->dumpChildFramesAsText() is true.
         WKRetainPtr<WKStringRef> innerText(AdoptWK, WKBundleFrameCopyInnerText(WKBundlePageGetMainFrame(m_page)));
         OwnPtr<Vector<char> > utf8InnerText = WKStringToUTF8(innerText.get());
@@ -213,7 +213,7 @@ void InjectedBundlePage::addMessageToConsole(WKStringRef message, uint32_t lineN
 
 void InjectedBundlePage::setStatusbarText(WKStringRef statusbarText)
 {
-    if (!InjectedBundle::shared().layoutTestController()->shouldDumpStatusCallbacks())
+    if (!InjectedBundle::shared().layoutTestController()->dumpStatusCallbacks())
         return;
 
     OwnPtr<Vector<char> > utf8StatusbarText = WKStringToUTF8(statusbarText);
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp b/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp
index fafa1e3..5c5d3d4 100644
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp
@@ -24,10 +24,9 @@
  */
 
 #include "LayoutTestController.h"
-
 #include "InjectedBundle.h"
 #include "InjectedBundlePage.h"
-#include "JSLayoutTestController.h"
+
 #include <JavaScriptCore/JSRetainPtr.h>
 #include <WebKit2/WKBundleFrame.h>
 #include <WebKit2/WKRetainPtr.h>
@@ -55,11 +54,6 @@ LayoutTestController::~LayoutTestController()
 {
 }
 
-JSClassRef LayoutTestController::wrapperClass()
-{
-    return JSLayoutTestController::layoutTestControllerClass();
-}
-
 // This is lower than DumpRenderTree's timeout, to make it easier to work through the failures
 // Eventually it should be changed to match.
 static const CFTimeInterval waitToDumpWatchdogInterval = 6.0;
@@ -82,7 +76,7 @@ static void waitUntilDoneWatchdogFired(CFRunLoopTimerRef timer, void* info)
     InjectedBundle::shared().layoutTestController()->waitToDumpWatchdogTimerFired();
 }
 
-void LayoutTestController::waitUntilDone()
+void LayoutTestController::setWaitToDump()
 {
     m_waitToDump = true;
     if (!m_waitToDumpWatchdog) {
@@ -124,12 +118,131 @@ bool LayoutTestController::pauseAnimationAtTimeOnElementWithId(JSStringRef anima
     return WKBundleFramePauseAnimationOnElementWithId(mainFrame, nameWK.get(), idWK.get(), time);
 }
 
+static JSValueRef displayCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    // Has mac & windows implementation
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->display();
+
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef dumpAsTextCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->setDumpAsText(true);
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef dumpStatusCallbacksCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->setDumpStatusCallbacks(true);
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef waitUntilDoneCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->setWaitToDump();
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef notifyDoneCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->notifyDone();
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef numberOfActiveAnimationsCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    if (argumentCount)
+        return JSValueMakeUndefined(context);
+
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    return JSValueMakeNumber(context, controller->numberOfActiveAnimations());
+}
+
+static JSValueRef pauseAnimationAtTimeOnElementWithIdCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    if (argumentCount != 3)
+        return JSValueMakeUndefined(context);
+
+    JSRetainPtr<JSStringRef> animationName(Adopt, JSValueToStringCopy(context, arguments[0], exception));
+    ASSERT(!*exception);
+    double time = JSValueToNumber(context, arguments[1], exception);
+    ASSERT(!*exception);
+    JSRetainPtr<JSStringRef> elementId(Adopt, JSValueToStringCopy(context, arguments[2], exception));
+    ASSERT(!*exception);
+
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    return JSValueMakeBoolean(context, controller->pauseAnimationAtTimeOnElementWithId(animationName.get(), time, elementId.get()));
+}
+
+static JSValueRef repaintSweepHorizontallyCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->setTestRepaintSweepHorizontally();
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef testRepaintCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+    controller->setTestRepaint();
+    return JSValueMakeUndefined(context);
+}
+
+// Object Finalization
+
+static void layoutTestControllerObjectFinalize(JSObjectRef object)
+{
+    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(object));
+    controller->deref();
+}
+
 // Object Creation
 
 void LayoutTestController::makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception)
 {
     JSRetainPtr<JSStringRef> layoutTestContollerStr(Adopt, JSStringCreateWithUTF8CString("layoutTestController"));
-    JSObjectSetProperty(context, windowObject, layoutTestContollerStr.get(), JSWrapper::wrap(context, this), kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete, exception);
+    ref();
+
+    JSClassRef classRef = getJSClass();
+    JSValueRef layoutTestContollerObject = JSObjectMake(context, classRef, this);
+    JSClassRelease(classRef);
+
+    JSObjectSetProperty(context, windowObject, layoutTestContollerStr.get(), layoutTestContollerObject, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete, exception);
+}
+
+JSClassRef LayoutTestController::getJSClass()
+{
+    static JSStaticFunction* staticFunctions = LayoutTestController::staticFunctions();
+    static JSClassDefinition classDefinition = {
+        0, kJSClassAttributeNone, "LayoutTestController", 0, 0, staticFunctions,
+        0, layoutTestControllerObjectFinalize, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+
+    return JSClassCreate(&classDefinition);
+}
+
+JSStaticFunction* LayoutTestController::staticFunctions()
+{
+    static JSStaticFunction staticFunctions[] = {
+        { "display", displayCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "dumpAsText", dumpAsTextCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "dumpStatusCallbacks", dumpStatusCallbacksCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "notifyDone", notifyDoneCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "numberOfActiveAnimations", numberOfActiveAnimationsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "pauseAnimationAtTimeOnElementWithId", pauseAnimationAtTimeOnElementWithIdCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "repaintSweepHorizontally", repaintSweepHorizontallyCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "testRepaint", testRepaintCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "waitUntilDone", waitUntilDoneCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { 0, 0, 0 }
+    };
+
+    return staticFunctions;
 }
 
 } // namespace WTR
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h b/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h
index f9585a3..a9e9ff7 100644
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h
@@ -26,43 +26,40 @@
 #ifndef LayoutTestController_h
 #define LayoutTestController_h
 
-#include "JSWrappable.h"
 #include <JavaScriptCore/JavaScriptCore.h>
 #include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
 #include <wtf/RetainPtr.h>
 #include <string>
 
 namespace WTR {
 
-class LayoutTestController : public JSWrappable {
+class LayoutTestController : public RefCounted<LayoutTestController> {
 public:
     static PassRefPtr<LayoutTestController> create(const std::string& testPathOrURL);
     ~LayoutTestController();
 
-    // JSWrappable
-    JSClassRef wrapperClass();
-
     void makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception);
 
-    bool shouldDumpAsText() const { return m_dumpAsText; }
-    void dumpAsText() { m_dumpAsText = true; }
+    bool dumpAsText() const { return m_dumpAsText; }
+    void setDumpAsText(bool dumpAsText) { m_dumpAsText = dumpAsText; }
 
-    bool shouldDumpStatusCallbacks() const { return m_dumpStatusCallbacks; }
-    void dumpStatusCallbacks() { m_dumpStatusCallbacks = true; }
+    bool dumpStatusCallbacks() const { return m_dumpStatusCallbacks; }
+    void setDumpStatusCallbacks(bool dumpStatusCallbacks) { m_dumpStatusCallbacks = dumpStatusCallbacks; }
 
     bool waitToDump() const { return m_waitToDump; }
+    void setWaitToDump();
     void waitToDumpWatchdogTimerFired();
     void invalidateWaitToDumpWatchdog();
-    void waitUntilDone();
     void notifyDone();
-
-    void testRepaint() { m_testRepaint = true; }
-    void repaintSweepHorizontally() { m_testRepaintSweepHorizontally = true; }
     void display();
 
     unsigned numberOfActiveAnimations() const;
     bool pauseAnimationAtTimeOnElementWithId(JSStringRef animationName, double time, JSStringRef elementId);
 
+    void setTestRepaint() { m_testRepaint = true; }
+    void setTestRepaintSweepHorizontally() { m_testRepaintSweepHorizontally = true; }
+
 private:
     LayoutTestController(const std::string& testPathOrURL);
 
@@ -72,9 +69,14 @@ private:
     bool m_testRepaint;
     bool m_testRepaintSweepHorizontally;
 
+
     std::string m_testPathOrURL;
     
     RetainPtr<CFRunLoopTimerRef> m_waitToDumpWatchdog;
+
+    static JSClassRef getJSClass();
+    static JSStaticValue* staticValues();
+    static JSStaticFunction* staticFunctions();
 };
 
 } // namespace WTR
diff --git a/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj b/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj
index cb1f827..5e739a0 100644
--- a/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj
+++ b/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj
@@ -6,20 +6,6 @@
 	objectVersion = 45;
 	objects = {
 
-/* Begin PBXAggregateTarget section */
-		BC952D7711F3BF5D003398B4 /* Derived Sources */ = {
-			isa = PBXAggregateTarget;
-			buildConfigurationList = BC952D7D11F3BF6A003398B4 /* Build configuration list for PBXAggregateTarget "Derived Sources" */;
-			buildPhases = (
-				BC952D8211F3BF78003398B4 /* Generate Derived Sources */,
-			);
-			dependencies = (
-			);
-			name = "Derived Sources";
-			productName = "Derived Sources";
-		};
-/* End PBXAggregateTarget section */
-
 /* Begin PBXBuildFile section */
 		6510A78211EC643800410867 /* AHEM____.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77711EC643800410867 /* AHEM____.TTF */; };
 		6510A78311EC643800410867 /* ColorBits.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77811EC643800410867 /* ColorBits.ttf */; };
@@ -43,8 +29,6 @@
 		BC7934AC1190658C005EA8E2 /* WebKit2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC7934AB1190658C005EA8E2 /* WebKit2.framework */; };
 		BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */; };
 		BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8C795B11D2785D004535A1 /* TestControllerMac.mm */; };
-		BC952C0D11F3B965003398B4 /* JSWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC952C0C11F3B965003398B4 /* JSWrapper.cpp */; };
-		BC952F1F11F3C652003398B4 /* JSLayoutTestController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC952F1D11F3C652003398B4 /* JSLayoutTestController.cpp */; };
 		BCC997A411D3C8F60017BCA2 /* InjectedBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */; };
 		BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */; };
 		BCC9981811D3F51E0017BCA2 /* LayoutTestController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC9981711D3F51E0017BCA2 /* LayoutTestController.cpp */; };
@@ -61,13 +45,6 @@
 			remoteGlobalIDString = BC25186111D15D54002EBC01;
 			remoteInfo = InjectedBundle;
 		};
-		BC952ED611F3C38B003398B4 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = BC952D7711F3BF5D003398B4;
-			remoteInfo = "Derived Sources";
-		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
@@ -101,14 +78,6 @@
 		BC7934DD119066EC005EA8E2 /* PlatformWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformWebView.h; sourceTree = "<group>"; };
 		BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewMac.mm; sourceTree = "<group>"; };
 		BC8C795B11D2785D004535A1 /* TestControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerMac.mm; sourceTree = "<group>"; };
-		BC952C0B11F3B965003398B4 /* JSWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWrapper.h; sourceTree = "<group>"; };
-		BC952C0C11F3B965003398B4 /* JSWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWrapper.cpp; sourceTree = "<group>"; };
-		BC952C0E11F3B97B003398B4 /* JSWrappable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWrappable.h; sourceTree = "<group>"; };
-		BC952EC511F3C10F003398B4 /* DerivedSources.make */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DerivedSources.make; sourceTree = "<group>"; };
-		BC952ED211F3C29F003398B4 /* LayoutTestController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LayoutTestController.idl; sourceTree = "<group>"; };
-		BC952ED311F3C318003398B4 /* CodeGeneratorTestRunner.pm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = CodeGeneratorTestRunner.pm; sourceTree = "<group>"; };
-		BC952F1D11F3C652003398B4 /* JSLayoutTestController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSLayoutTestController.cpp; path = ../../WebKitBuild/Debug/DerivedSources/WebKitTestRunner/JSLayoutTestController.cpp; sourceTree = SOURCE_ROOT; };
-		BC952F1E11F3C652003398B4 /* JSLayoutTestController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSLayoutTestController.h; path = ../../WebKitBuild/Debug/DerivedSources/WebKitTestRunner/JSLayoutTestController.h; sourceTree = SOURCE_ROOT; };
 		BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundle.cpp; sourceTree = "<group>"; };
 		BCC997A111D3C8F60017BCA2 /* InjectedBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundle.h; sourceTree = "<group>"; };
 		BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePage.cpp; sourceTree = "<group>"; };
@@ -148,7 +117,6 @@
 		08FB7794FE84155DC02AAC07 /* WebKitTestRunner */ = {
 			isa = PBXGroup;
 			children = (
-				BC952EC511F3C10F003398B4 /* DerivedSources.make */,
 				08FB7795FE84155DC02AAC07 /* Source */,
 				BC25183511D1571D002EBC01 /* InjectedBundle */,
 				BC793401118F7C8A005EA8E2 /* Configurations */,
@@ -203,7 +171,6 @@
 		BC25183511D1571D002EBC01 /* InjectedBundle */ = {
 			isa = PBXGroup;
 			children = (
-				BC952C0A11F3B939003398B4 /* Bindings */,
 				65EB859E11EC67CC0034D300 /* mac */,
 				65EB859D11EC67CC0034D300 /* ActivateFonts.h */,
 				BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */,
@@ -258,29 +225,6 @@
 			path = Configurations;
 			sourceTree = "<group>";
 		};
-		BC952C0A11F3B939003398B4 /* Bindings */ = {
-			isa = PBXGroup;
-			children = (
-				BC952D3A11F3BF1F003398B4 /* Derived Sources */,
-				BC952ED311F3C318003398B4 /* CodeGeneratorTestRunner.pm */,
-				BC952C0E11F3B97B003398B4 /* JSWrappable.h */,
-				BC952C0C11F3B965003398B4 /* JSWrapper.cpp */,
-				BC952C0B11F3B965003398B4 /* JSWrapper.h */,
-				BC952ED211F3C29F003398B4 /* LayoutTestController.idl */,
-			);
-			path = Bindings;
-			sourceTree = "<group>";
-		};
-		BC952D3A11F3BF1F003398B4 /* Derived Sources */ = {
-			isa = PBXGroup;
-			children = (
-				BC952F1D11F3C652003398B4 /* JSLayoutTestController.cpp */,
-				BC952F1E11F3C652003398B4 /* JSLayoutTestController.h */,
-			);
-			name = "Derived Sources";
-			path = ..;
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -313,7 +257,6 @@
 			buildRules = (
 			);
 			dependencies = (
-				BC952ED711F3C38B003398B4 /* PBXTargetDependency */,
 			);
 			name = InjectedBundle;
 			productName = InjectedBundle;
@@ -334,7 +277,6 @@
 			targets = (
 				8DD76F960486AA7600D96B5E /* WebKitTestRunner */,
 				BC25186111D15D54002EBC01 /* InjectedBundle */,
-				BC952D7711F3BF5D003398B4 /* Derived Sources */,
 			);
 		};
 /* End PBXProject section */
@@ -360,23 +302,6 @@
 		};
 /* End PBXResourcesBuildPhase section */
 
-/* Begin PBXShellScriptBuildPhase section */
-		BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Generate Derived Sources";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitTestRunner\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitTestRunner\"\n\nexport WebKitTestRunner=\"${SRCROOT}\"\nexport WebCoreScripts=\"${WEBCORE_PRIVATE_HEADERS_DIR}\"\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    make -f \"${WebKitTestRunner}/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.availcpu`\nfi\n";
-		};
-/* End PBXShellScriptBuildPhase section */
-
 /* Begin PBXSourcesBuildPhase section */
 		8DD76F990486AA7600D96B5E /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
@@ -400,8 +325,6 @@
 				BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */,
 				BCC9981811D3F51E0017BCA2 /* LayoutTestController.cpp in Sources */,
 				65EB85A011EC67CC0034D300 /* ActivateFonts.mm in Sources */,
-				BC952C0D11F3B965003398B4 /* JSWrapper.cpp in Sources */,
-				BC952F1F11F3C652003398B4 /* JSLayoutTestController.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -413,11 +336,6 @@
 			target = BC25186111D15D54002EBC01 /* InjectedBundle */;
 			targetProxy = BC25194111D15D94002EBC01 /* PBXContainerItemProxy */;
 		};
-		BC952ED711F3C38B003398B4 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = BC952D7711F3BF5D003398B4 /* Derived Sources */;
-			targetProxy = BC952ED611F3C38B003398B4 /* PBXContainerItemProxy */;
-		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
@@ -464,27 +382,6 @@
 			};
 			name = Release;
 		};
-		BC952D7811F3BF5E003398B4 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				PRODUCT_NAME = "Derived Sources";
-			};
-			name = Debug;
-		};
-		BC952D7911F3BF5E003398B4 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				PRODUCT_NAME = "Derived Sources";
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
@@ -515,15 +412,6 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		BC952D7D11F3BF6A003398B4 /* Build configuration list for PBXAggregateTarget "Derived Sources" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				BC952D7811F3BF5E003398B4 /* Debug */,
-				BC952D7911F3BF5E003398B4 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list