[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