diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Tools/WebKitTestRunner | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Tools/WebKitTestRunner')
53 files changed, 539 insertions, 109 deletions
diff --git a/Tools/WebKitTestRunner/Configurations/Base.xcconfig b/Tools/WebKitTestRunner/Configurations/Base.xcconfig index ac2ff94..3780150 100644 --- a/Tools/WebKitTestRunner/Configurations/Base.xcconfig +++ b/Tools/WebKitTestRunner/Configurations/Base.xcconfig @@ -52,12 +52,23 @@ TARGET_GCC_VERSION_1050_ = $(TARGET_GCC_VERSION_1050_$(XCODE_VERSION_ACTUAL)); TARGET_GCC_VERSION_1050_0310 = GCC_42; TARGET_GCC_VERSION_1050_0320 = GCC_42; TARGET_GCC_VERSION_1060 = GCC_42; -TARGET_GCC_VERSION_1070 = LLVM_GCC_42; +TARGET_GCC_VERSION_1070 = $(TARGET_GCC_VERSION_1070_$(CONFIGURATION)); +TARGET_GCC_VERSION_1070_Debug = LLVM_COMPILER; +TARGET_GCC_VERSION_1070_Release = LLVM_GCC_42; +TARGET_GCC_VERSION_1070_Production = LLVM_GCC_42; GCC_VERSION = $(GCC_VERSION_$(TARGET_GCC_VERSION)); GCC_VERSION_GCC_40 = 4.0; GCC_VERSION_GCC_42 = 4.2; GCC_VERSION_LLVM_GCC_42 = com.apple.compilers.llvmgcc42; +GCC_VERSION_LLVM_COMPILER = com.apple.compilers.llvm.clang.1_0; + +// FIXME: Disable C++ exceptions in the LLVM Compiler once it supports enabling Obj-C exceptions without C++ exceptions. +GCC_ENABLE_CPP_EXCEPTIONS = $(GCC_ENABLE_CPP_EXCEPTIONS_$(TARGET_GCC_VERSION)); +GCC_ENABLE_CPP_EXCEPTIONS_GCC_40 = NO; +GCC_ENABLE_CPP_EXCEPTIONS_GCC_42 = NO; +GCC_ENABLE_CPP_EXCEPTIONS_LLVM_GCC = NO; +GCC_ENABLE_CPP_EXCEPTIONS_LLVM_COMPILER = YES; // If the target Mac OS X version does not match the current Mac OS X version then we'll want to build using the target version's SDK. SDKROOT = $(SDKROOT_$(MAC_OS_X_VERSION_MAJOR)_$(TARGET_MAC_OS_X_VERSION_MAJOR)); diff --git a/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig b/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig index dcf4be0..e3b72fe 100644 --- a/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig +++ b/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig @@ -21,4 +21,4 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -PRODUCT_NAME = WebKitTestRunnerInjectedBundle +PRODUCT_NAME = WebKitTestRunnerInjectedBundle; diff --git a/Tools/WebKitTestRunner/Configurations/WebKitTestRunnerCoreGraphics.vsprops b/Tools/WebKitTestRunner/Configurations/WebKitTestRunnerCoreGraphics.vsprops new file mode 100644 index 0000000..70da2ba --- /dev/null +++ b/Tools/WebKitTestRunner/Configurations/WebKitTestRunnerCoreGraphics.vsprops @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerCoreGraphics" + > + <Tool + Name="VCLinkerTool" + AdditionalDependencies="CoreGraphics$(LibraryConfigSuffix).lib" + /> +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp b/Tools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp index a62cb2e..e3cf58c 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "JSWrapper.h" #include <JavaScriptCore/JSContextRefPrivate.h> diff --git a/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp b/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp index 73de45b..cc1720e 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "EventSendingController.h" #include "InjectedBundle.h" diff --git a/Tools/WebKitTestRunner/InjectedBundle/GCController.cpp b/Tools/WebKitTestRunner/InjectedBundle/GCController.cpp index 0eba2df..10c21db 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/GCController.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/GCController.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "GCController.h" #include "InjectedBundle.h" diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp index 00933bd..ec6b723 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "InjectedBundle.h" #include "ActivateFonts.h" @@ -49,6 +50,7 @@ InjectedBundle::InjectedBundle() : m_bundle(0) , m_topLoadingFrame(0) , m_state(Idle) + , m_dumpPixels(false) { } @@ -128,7 +130,9 @@ void InjectedBundle::resetLocalSettings() void InjectedBundle::didReceiveMessage(WKStringRef messageName, WKTypeRef messageBody) { if (WKStringIsEqualToUTF8CString(messageName, "BeginTest")) { - ASSERT(!messageBody); + ASSERT(messageBody); + ASSERT(WKGetTypeID(messageBody) == WKBooleanGetTypeID()); + m_dumpPixels = WKBooleanGetValue(static_cast<WKBooleanRef>(messageBody)); WKRetainPtr<WKStringRef> ackMessageName(AdoptWK, WKStringCreateWithUTF8CString("Ack")); WKRetainPtr<WKStringRef> ackMessageBody(AdoptWK, WKStringCreateWithUTF8CString("BeginTest")); @@ -138,6 +142,7 @@ void InjectedBundle::didReceiveMessage(WKStringRef messageName, WKTypeRef messag return; } else if (WKStringIsEqualToUTF8CString(messageName, "Reset")) { m_state = Idle; + m_dumpPixels = false; resetLocalSettings(); @@ -154,6 +159,7 @@ void InjectedBundle::beginTesting() m_state = Testing; m_outputStream.str(""); + m_pixelResult.clear(); m_layoutTestController = LayoutTestController::create(); m_gcController = GCController::create(); @@ -161,6 +167,7 @@ void InjectedBundle::beginTesting() WKBundleSetShouldTrackVisitedLinks(m_bundle, false); WKBundleRemoveAllVisitedLinks(m_bundle); + WKBundleOverrideAllowUniversalAccessFromFileURLsForTestRunner(m_bundle, m_pageGroup, true); WKBundleRemoveAllUserContent(m_bundle, m_pageGroup); @@ -181,9 +188,8 @@ void InjectedBundle::done() WKRetainPtr<WKStringRef> textOutput(AdoptWK, WKStringCreateWithUTF8CString(m_outputStream.str().c_str())); WKDictionaryAddItem(doneMessageBody.get(), textOutputKey.get(), textOutput.get()); - WKRetainPtr<WKStringRef> textOnlyKey(AdoptWK, WKStringCreateWithUTF8CString("TextOnly")); - WKRetainPtr<WKBooleanRef> textOnly(AdoptWK, WKBooleanCreate(!m_layoutTestController->shouldDumpPixels())); - WKDictionaryAddItem(doneMessageBody.get(), textOnlyKey.get(), textOnly.get()); + WKRetainPtr<WKStringRef> pixelResultKey = adoptWK(WKStringCreateWithUTF8CString("PixelResult")); + WKDictionaryAddItem(doneMessageBody.get(), pixelResultKey.get(), m_pixelResult.get()); WKBundlePostMessage(m_bundle, doneMessageName.get(), doneMessageBody.get()); diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h index 41b1b31..3090614 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h @@ -30,6 +30,7 @@ #include "GCController.h" #include "LayoutTestController.h" #include <WebKit2/WKBase.h> +#include <WebKit2/WKRetainPtr.h> #include <wtf/OwnPtr.h> #include <wtf/RefPtr.h> #include <wtf/Vector.h> @@ -62,12 +63,15 @@ public: void done(); std::ostringstream& os() { return m_outputStream; } + void setPixelResult(WKImageRef image) { m_pixelResult = image; } bool isTestRunning() { return m_state == Testing; } WKBundleFrameRef topLoadingFrame() { return m_topLoadingFrame; } void setTopLoadingFrame(WKBundleFrameRef frame) { m_topLoadingFrame = frame; } + bool shouldDumpPixels() const { return m_dumpPixels; } + private: InjectedBundle(); ~InjectedBundle(); @@ -105,6 +109,10 @@ private: Stopping }; State m_state; + + bool m_dumpPixels; + + WKRetainPtr<WKImageRef> m_pixelResult; }; } // namespace WTR diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp index 4e7f58b..7244077 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp @@ -23,6 +23,8 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include "InjectedBundle.h" #include <WebKit2/WKBundleInitialize.h> diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp index 3ce081e..3b73174 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp @@ -23,13 +23,13 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "InjectedBundlePage.h" #include "InjectedBundle.h" #include "StringFunctions.h" #include <cmath> #include <JavaScriptCore/JSRetainPtr.h> -#include <WebCore/KURL.h> #include <WebKit2/WKArray.h> #include <WebKit2/WKBundle.h> #include <WebKit2/WKBundleBackForwardList.h> @@ -43,11 +43,6 @@ using namespace std; namespace WTR { -template<typename T> static inline WKRetainPtr<T> adoptWK(T item) -{ - return WKRetainPtr<T>(AdoptWK, item); -} - static bool hasPrefix(const string& searchString, const string& prefix) { return searchString.length() >= prefix.length() && searchString.substr(0, prefix.length()) == prefix; @@ -218,6 +213,8 @@ InjectedBundlePage::InjectedBundlePage(WKBundlePageRef page) 0, /*mouseDidMoveOverElement*/ 0, /*pageDidScroll*/ 0, /*paintCustomOverhangArea*/ + 0, /*shouldGenerateFileForUpload*/ + 0, /*generateFileForUpload*/ }; WKBundlePageSetUIClient(m_page, &uiClient); @@ -526,6 +523,9 @@ void InjectedBundlePage::dump() if (InjectedBundle::shared().layoutTestController()->shouldDumpBackForwardListsForAllWindows()) InjectedBundle::shared().dumpBackForwardListsForAllPages(); + if (InjectedBundle::shared().shouldDumpPixels() && InjectedBundle::shared().layoutTestController()->shouldDumpPixels()) + InjectedBundle::shared().setPixelResult(adoptWK(WKBundlePageCreateSnapshotInViewCoordinates(m_page, WKBundleFrameGetVisibleContentBounds(WKBundlePageGetMainFrame(m_page)), kWKImageOptionsShareable)).get()); + InjectedBundle::shared().done(); } @@ -634,15 +634,15 @@ WKURLRequestRef InjectedBundlePage::willSendRequestForFrame(WKBundlePageRef, WKB if (InjectedBundle::shared().isTestRunning() && InjectedBundle::shared().layoutTestController()->willSendRequestReturnsNull()) return 0; - string urlString = toSTD(adoptWK(WKURLCopyString(adoptWK(WKURLRequestCopyURL(request)).get()))); - WebCore::KURL url(WebCore::ParsedURLString, urlString.c_str()); - - if (!url.host().isEmpty() - && (equalIgnoringCase(url.protocol(), "http") || (equalIgnoringCase(url.protocol(), "https"))) - && (url.host() != "127.0.0.1") - && (url.host() != "255.255.255.255") // used in some tests that expect to get back an error - && (!equalIgnoringCase(url.host(), "localhost"))) { - InjectedBundle::shared().os() << "Blocked access to external URL " << urlString << "\n"; + WKRetainPtr<WKURLRef> url = adoptWK(WKURLRequestCopyURL(request)); + WKRetainPtr<WKStringRef> host = adoptWK(WKURLCopyHostName(url.get())); + WKRetainPtr<WKStringRef> scheme = adoptWK(WKURLCopyScheme(url.get())); + if (host && !WKStringIsEmpty(host.get()) + && (WKStringIsEqualToUTF8CStringIgnoringCase(scheme.get(), "http") || WKStringIsEqualToUTF8CStringIgnoringCase(scheme.get(), "https")) + && !WKStringIsEqualToUTF8CString(host.get(), "127.0.0.1") + && !WKStringIsEqualToUTF8CString(host.get(), "255.255.255.255") // Used in some tests that expect to get back an error. + && !WKStringIsEqualToUTF8CStringIgnoringCase(host.get(), "localhost")) { + InjectedBundle::shared().os() << "Blocked access to external URL " << url << "\n"; return 0; } diff --git a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp index 96a0d47..7c49d03 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "LayoutTestController.h" #include "InjectedBundle.h" @@ -301,6 +302,11 @@ void LayoutTestController::setXSSAuditorEnabled(bool enabled) WKBundleOverrideXSSAuditorEnabledForTestRunner(InjectedBundle::shared().bundle(), InjectedBundle::shared().pageGroup(), true); } +void LayoutTestController::setAllowUniversalAccessFromFileURLs(bool enabled) +{ + WKBundleOverrideAllowUniversalAccessFromFileURLsForTestRunner(InjectedBundle::shared().bundle(), InjectedBundle::shared().pageGroup(), enabled); +} + unsigned LayoutTestController::windowCount() { return InjectedBundle::shared().pageCount(); diff --git a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h index 6733380..b37f102 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h +++ b/Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h @@ -74,6 +74,7 @@ public: void setCanOpenWindows(bool); void setCloseRemainingWindowsWhenComplete(bool value) { m_shouldCloseExtraWindows = value; } void setXSSAuditorEnabled(bool); + void setAllowUniversalAccessFromFileURLs(bool); // Special DOM functions. JSValueRef computedStyleIncludingVisitedInfo(JSValueRef element); diff --git a/Tools/WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp b/Tools/WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp index 9c4bc68..cb6b633 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp @@ -27,6 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "ActivateFonts.h" #include <QApplication> @@ -56,8 +57,9 @@ void activateFonts() if (appFontSet && numFonts >= 0 && appFontSet->nfont == numFonts) return; - QByteArray fontDir = getenv("WEBKIT_TESTFONTS"); - if (fontDir.isEmpty() || !QDir(fontDir).exists()) { + char* const fontDir = getenv("WEBKIT_TESTFONTS"); + const QString fontDirString = QString::fromLocal8Bit(fontDir); + if (fontDirString.isEmpty() || !QDir(fontDirString).exists()) { fprintf(stderr, "\n\n" "----------------------------------------------------------------------\n" @@ -76,7 +78,7 @@ void activateFonts() configFile += "/Tools/DumpRenderTree/qt/fonts.conf"; if (!FcConfigParseAndLoad (config, (FcChar8*) configFile.data(), true)) qFatal("Couldn't load font configuration file"); - if (!FcConfigAppFontAddDir (config, (FcChar8*) fontDir.data())) + if (!FcConfigAppFontAddDir (config, (FcChar8*) fontDir)) qFatal("Couldn't add font dir!"); FcConfigSetCurrent(config); @@ -84,17 +86,19 @@ void activateFonts() numFonts = appFontSet->nfont; #endif - QApplication::setGraphicsSystem("raster"); + QApplication::setGraphicsSystem(QLatin1String("raster")); QApplication::setStyle(new QWindowsStyle); - QFont f("Sans Serif"); + QFont f(QLatin1String("Sans Serif")); f.setPointSize(9); f.setWeight(QFont::Normal); f.setStyle(QFont::StyleNormal); QApplication::setFont(f); +#if defined(Q_WS_X11) QX11Info::setAppDpiX(0, 96); QX11Info::setAppDpiY(0, 96); +#endif } } diff --git a/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp b/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp index 52502ed..78ec37c 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "InjectedBundle.h" namespace WTR { diff --git a/Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp b/Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp index b515326..91f49ea 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp @@ -24,6 +24,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "LayoutTestController.h" #include "InjectedBundle.h" diff --git a/Tools/WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp b/Tools/WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp index d9f08c9..410d60f 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "ActivateFonts.h" #include <string> diff --git a/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp b/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp index af8eaed..c70514a 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "InjectedBundle.h" namespace WTR { diff --git a/Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp b/Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp index 39cd727..7c500f2 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "LayoutTestController.h" #include "InjectedBundle.h" diff --git a/Tools/WebKitTestRunner/StringFunctions.h b/Tools/WebKitTestRunner/StringFunctions.h index 2d0ca72..33e391d 100644 --- a/Tools/WebKitTestRunner/StringFunctions.h +++ b/Tools/WebKitTestRunner/StringFunctions.h @@ -44,9 +44,14 @@ namespace WTR { // Conversion functions +template<typename T> static inline WKRetainPtr<T> adoptWK(const T item) +{ + return WKRetainPtr<T>(AdoptWK, item); +} + inline WKRetainPtr<WKStringRef> toWK(JSStringRef string) { - return WKRetainPtr<WKStringRef>(AdoptWK, WKStringCreateWithJSString(string)); + return adoptWK(WKStringCreateWithJSString(string)); } inline WKRetainPtr<WKStringRef> toWK(JSRetainPtr<JSStringRef> string) @@ -92,6 +97,19 @@ inline std::ostream& operator<<(std::ostream& out, const WKRetainPtr<WKStringRef return out << stringRef.get(); } +inline std::ostream& operator<<(std::ostream& out, WKURLRef urlRef) +{ + if (!urlRef) + return out; + + return out << toSTD(adoptWK(WKURLCopyString(urlRef))); +} + +inline std::ostream& operator<<(std::ostream& out, const WKRetainPtr<WKURLRef>& urlRef) +{ + return out << urlRef.get(); +} + } // namespace WTR #endif // StringFunctions_h diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp index d12fff6..42331da 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestController.h" #include "PlatformWebView.h" @@ -168,6 +169,7 @@ WKPageRef TestController::createOtherPage(WKPageRef oldPage, WKDictionaryRef, WK 0, // printFrame runModal, 0, // didCompleteRubberBandForMainFrame + 0, // saveDataToFileInDownloadsFolder }; WKPageSetPageUIClient(newPage, &otherPageUIClient); @@ -301,6 +303,7 @@ void TestController::initialize(int argc, const char* argv[]) 0, // printFrame 0, // runModal 0, // didCompleteRubberBandForMainFrame + 0, // saveDataToFileInDownloadsFolder }; WKPageSetPageUIClient(m_mainWebView->page(), &pageUIClient); @@ -353,6 +356,8 @@ bool TestController::resetStateToConsistentValues() WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(preferences, true); WKPreferencesSetJavaScriptCanAccessClipboard(preferences, true); WKPreferencesSetDOMPasteAllowed(preferences, true); + WKPreferencesSetUniversalAccessFromFileURLsAllowed(preferences, true); + WKPreferencesSetFileAccessFromFileURLsAllowed(preferences, true); static WKStringRef standardFontFamily = WKStringCreateWithUTF8CString("Times"); static WKStringRef cursiveFontFamily = WKStringCreateWithUTF8CString("Apple Chancery"); diff --git a/Tools/WebKitTestRunner/TestInvocation.cpp b/Tools/WebKitTestRunner/TestInvocation.cpp index 3227be9..7fb70f5 100644 --- a/Tools/WebKitTestRunner/TestInvocation.cpp +++ b/Tools/WebKitTestRunner/TestInvocation.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestInvocation.h" #include "PlatformWebView.h" @@ -132,8 +133,9 @@ void TestInvocation::invoke() { sizeWebViewForCurrentTest(m_pathOrURL.c_str()); - WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("BeginTest")); - WKContextPostMessageToInjectedBundle(TestController::shared().context(), messageName.get(), 0); + WKRetainPtr<WKStringRef> messageName = adoptWK(WKStringCreateWithUTF8CString("BeginTest")); + WKRetainPtr<WKBooleanRef> dumpPixels = adoptWK(WKBooleanCreate(m_dumpPixels)); + WKContextPostMessageToInjectedBundle(TestController::shared().context(), messageName.get(), dumpPixels.get()); TestController::shared().runUntil(m_gotInitialResponse, TestController::ShortTimeout); if (!m_gotInitialResponse) { @@ -166,6 +168,8 @@ void TestInvocation::dump(const char* stringToDump) fputs("#EOF\n", stdout); fputs("#EOF\n", stderr); + fflush(stdout); + fflush(stderr); } void TestInvocation::didReceiveMessageFromInjectedBundle(WKStringRef messageName, WKTypeRef messageBody) @@ -198,15 +202,16 @@ void TestInvocation::didReceiveMessageFromInjectedBundle(WKStringRef messageName WKRetainPtr<WKStringRef> textOutputKey(AdoptWK, WKStringCreateWithUTF8CString("TextOutput")); WKStringRef textOutput = static_cast<WKStringRef>(WKDictionaryGetItemForKey(messageBodyDictionary, textOutputKey.get())); - WKRetainPtr<WKStringRef> textOnlyKey(AdoptWK, WKStringCreateWithUTF8CString("TextOnly")); - bool textOnly = WKBooleanGetValue(static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(messageBodyDictionary, textOnlyKey.get()))); + WKRetainPtr<WKStringRef> pixelResultKey = adoptWK(WKStringCreateWithUTF8CString("PixelResult")); + WKImageRef pixelResult = static_cast<WKImageRef>(WKDictionaryGetItemForKey(messageBodyDictionary, pixelResultKey.get())); + ASSERT(!pixelResult || m_dumpPixels); // Dump text. dump(toSTD(textOutput).c_str()); // Dump pixels (if necessary). - if (m_dumpPixels && !textOnly) - dumpPixelsAndCompareWithExpected(); + if (m_dumpPixels && pixelResult) + dumpPixelsAndCompareWithExpected(pixelResult); fputs("#EOF\n", stdout); fflush(stdout); diff --git a/Tools/WebKitTestRunner/TestInvocation.h b/Tools/WebKitTestRunner/TestInvocation.h index d5a4af9..9abd7e9 100644 --- a/Tools/WebKitTestRunner/TestInvocation.h +++ b/Tools/WebKitTestRunner/TestInvocation.h @@ -46,7 +46,7 @@ public: private: void dump(const char*); - void dumpPixelsAndCompareWithExpected(); + void dumpPixelsAndCompareWithExpected(WKImageRef); WKRetainPtr<WKURLRef> m_url; std::string m_pathOrURL; diff --git a/Tools/WebKitTestRunner/WebKitTestRunner.sln b/Tools/WebKitTestRunner/WebKitTestRunner.sln index 3384503..13db4b4 100644 --- a/Tools/WebKitTestRunner/WebKitTestRunner.sln +++ b/Tools/WebKitTestRunner/WebKitTestRunner.sln @@ -32,7 +32,7 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug_All|Win32 = Debug_All|Win32 Debug|Win32 = Debug|Win32 - Release_LTCG|Win32 = Release_LTCG|Win32 + Production|Win32 = Production|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution @@ -40,48 +40,48 @@ Global {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.Build.0 = Debug_All|Win32 {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32 {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32 - {3B99669B-1817-443B-BCBE-835580146668}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 - {3B99669B-1817-443B-BCBE-835580146668}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.ActiveCfg = Production|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.Build.0 = Production|Win32 {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32 {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32 {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.Build.0 = Debug_All|Win32 {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32 {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32 - {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 - {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.ActiveCfg = Production|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.Build.0 = Production|Win32 {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32 {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32 {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_All|Win32.Build.0 = Debug_All|Win32 {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = Debug|Win32 {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = Debug|Win32 - {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 - {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Production|Win32.ActiveCfg = Production|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Production|Win32.Build.0 = Production|Win32 {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = Release|Win32 {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = Release|Win32 {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.Build.0 = Debug_All|Win32 {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32 {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32 - {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 - {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.ActiveCfg = Production|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.Build.0 = Production|Win32 {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32 {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32 {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.Build.0 = Debug_All|Win32 {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32 {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32 - {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 - {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.ActiveCfg = Production|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.Build.0 = Production|Win32 {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32 {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32 {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.Build.0 = Debug_All|Win32 {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32 {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32 - {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 - {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.ActiveCfg = Production|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.Build.0 = Production|Win32 {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32 {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection diff --git a/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj b/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj index 62105cd..64c5493 100644 --- a/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj +++ b/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj @@ -32,8 +32,6 @@ 6510A78A11EC643800410867 /* WebKitWeightWatcher700.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */; }; 6510A78B11EC643800410867 /* WebKitWeightWatcher800.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */; }; 6510A78C11EC643800410867 /* WebKitWeightWatcher900.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */; }; - 65DD1D9612FFE798004B5285 /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65DD1D9512FFE798004B5285 /* WebCore.framework */; }; - 65DE432512FFE84000171BCA /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65DD1D9512FFE798004B5285 /* WebCore.framework */; }; 65EB85A011EC67CC0034D300 /* ActivateFonts.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65EB859F11EC67CC0034D300 /* ActivateFonts.mm */; }; BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4D9120E02D000826C0C /* GCController.cpp */; }; BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4E8120E03D800826C0C /* JSGCController.cpp */; }; @@ -47,10 +45,10 @@ 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 */; }; - BC8DAD5D1315C0EC00EC96FC /* TestInvocationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8DAD5B1315C0EC00EC96FC /* TestInvocationMac.mm */; }; BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */; }; BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */; }; BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */; }; + BC9192051333E4F8003011DC /* TestInvocationCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC9192041333E4F8003011DC /* TestInvocationCG.cpp */; }; 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 */; }; @@ -79,6 +77,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 378D442213346D00006A777B /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; }; 6510A77711EC643800410867 /* AHEM____.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; name = "AHEM____.TTF"; path = "fonts/AHEM____.TTF"; sourceTree = "<group>"; }; 6510A77811EC643800410867 /* ColorBits.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = ColorBits.ttf; path = fonts/ColorBits.ttf; sourceTree = "<group>"; }; 6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher100.ttf; path = fonts/WebKitWeightWatcher100.ttf; sourceTree = "<group>"; }; @@ -90,7 +89,6 @@ 6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher700.ttf; path = fonts/WebKitWeightWatcher700.ttf; sourceTree = "<group>"; }; 6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher800.ttf; path = fonts/WebKitWeightWatcher800.ttf; sourceTree = "<group>"; }; 6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher900.ttf; path = fonts/WebKitWeightWatcher900.ttf; sourceTree = "<group>"; }; - 65DD1D9512FFE798004B5285 /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 65EB859D11EC67CC0034D300 /* ActivateFonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivateFonts.h; sourceTree = "<group>"; }; 65EB859F11EC67CC0034D300 /* ActivateFonts.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActivateFonts.mm; sourceTree = "<group>"; }; 8DD76FA10486AA7600D96B5E /* WebKitTestRunner */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = WebKitTestRunner; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -115,13 +113,13 @@ 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>"; }; - BC8DAD5B1315C0EC00EC96FC /* TestInvocationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestInvocationMac.mm; sourceTree = "<group>"; }; BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleMac.mm; sourceTree = "<group>"; }; BC8FD8C8120E527F00F3E71A /* EventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSendingController.h; sourceTree = "<group>"; }; BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventSendingController.cpp; sourceTree = "<group>"; }; BC8FD8CB120E52B000F3E71A /* EventSendingController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EventSendingController.idl; sourceTree = "<group>"; }; BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSEventSendingController.cpp; path = DerivedSources/WebKitTestRunner/JSEventSendingController.cpp; sourceTree = BUILT_PRODUCTS_DIR; }; BC8FD8D1120E545B00F3E71A /* JSEventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSEventSendingController.h; path = DerivedSources/WebKitTestRunner/JSEventSendingController.h; sourceTree = BUILT_PRODUCTS_DIR; }; + BC9192041333E4F8003011DC /* TestInvocationCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TestInvocationCG.cpp; path = cg/TestInvocationCG.cpp; 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>"; }; @@ -151,7 +149,6 @@ BC7934A511906584005EA8E2 /* Cocoa.framework in Frameworks */, BC7934AC1190658C005EA8E2 /* WebKit2.framework in Frameworks */, BCDA2B9A1191051F00C3BC47 /* JavaScriptCore.framework in Frameworks */, - 65DD1D9612FFE798004B5285 /* WebCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -162,7 +159,6 @@ BC25193E11D15D8B002EBC01 /* Cocoa.framework in Frameworks */, BC25193F11D15D8B002EBC01 /* WebKit2.framework in Frameworks */, BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */, - 65DE432512FFE84000171BCA /* WebCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -187,6 +183,7 @@ 08FB7795FE84155DC02AAC07 /* TestRunner */ = { isa = PBXGroup; children = ( + BC9192021333E4CD003011DC /* cg */, BC7933FE118F7C74005EA8E2 /* mac */, BC251A1711D16774002EBC01 /* WebKitTestRunnerPrefix.h */, BC7934DD119066EC005EA8E2 /* PlatformWebView.h */, @@ -204,7 +201,6 @@ BC7934A411906584005EA8E2 /* Cocoa.framework */, BC7934AB1190658C005EA8E2 /* WebKit2.framework */, BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */, - 65DD1D9512FFE798004B5285 /* WebCore.framework */, ); name = "External Frameworks and Libraries"; sourceTree = "<group>"; @@ -283,7 +279,6 @@ BC7933FF118F7C84005EA8E2 /* main.mm */, BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */, BC8C795B11D2785D004535A1 /* TestControllerMac.mm */, - BC8DAD5B1315C0EC00EC96FC /* TestInvocationMac.mm */, ); path = mac; sourceTree = "<group>"; @@ -299,6 +294,14 @@ path = Configurations; sourceTree = "<group>"; }; + BC9192021333E4CD003011DC /* cg */ = { + isa = PBXGroup; + children = ( + BC9192041333E4F8003011DC /* TestInvocationCG.cpp */, + ); + name = cg; + sourceTree = "<group>"; + }; BC952C0A11F3B939003398B4 /* Bindings */ = { isa = PBXGroup; children = ( @@ -329,6 +332,7 @@ BC99CBF11207642D00FDEE76 /* Shared */ = { isa = PBXGroup; children = ( + 378D442213346D00006A777B /* config.h */, BC99A4841208901A007E9F08 /* StringFunctions.h */, ); name = Shared; @@ -446,8 +450,8 @@ BC793431118F7F19005EA8E2 /* TestController.cpp in Sources */, BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */, BCD7D2F811921278006DB7EE /* TestInvocation.cpp in Sources */, - BC8DAD5D1315C0EC00EC96FC /* TestInvocationMac.mm in Sources */, BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */, + BC9192051333E4F8003011DC /* TestInvocationCG.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Tools/WebKitTestRunner/cairo/TestInvocationCairo.cpp b/Tools/WebKitTestRunner/cairo/TestInvocationCairo.cpp new file mode 100644 index 0000000..88aacbd --- /dev/null +++ b/Tools/WebKitTestRunner/cairo/TestInvocationCairo.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * Copyright (C) 2011 Brent Fulgham <bfulgham@webkit.org>. 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 "config.h" +#include "TestInvocation.h" + +namespace WTR { + +void TestInvocation::dumpPixelsAndCompareWithExpected(WKImageRef image) +{ + // FIXME: This stub should be replaced with a Cairo implementation + // of the pixel dumping and comparison routines. +} + +} // namespace WTR diff --git a/Tools/WebKitTestRunner/mac/TestInvocationMac.mm b/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp index 13a0295..cba2908 100644 --- a/Tools/WebKitTestRunner/mac/TestInvocationMac.mm +++ b/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp @@ -23,38 +23,41 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestInvocation.h" #include "PlatformWebView.h" #include "TestController.h" #include <ImageIO/CGImageDestination.h> -#include <LaunchServices/UTCoreTypes.h> -#include <WebKit2/WKPage.h> +#include <WebKit2/WKImageCG.h> +#include <wtf/MD5.h> #include <wtf/RetainPtr.h> +#include <wtf/StringExtras.h> + +#if PLATFORM(MAC) +#include <LaunchServices/UTCoreTypes.h> +#endif -#define COMMON_DIGEST_FOR_OPENSSL -#include <CommonCrypto/CommonDigest.h> +#if PLATFORM(WIN) +static const CFStringRef kUTTypePNG = CFSTR("public.png"); +#endif namespace WTR { -static CGContextRef createCGContextFromPlatformView(PlatformWebView* platformWebView) +static CGContextRef createCGContextFromImage(WKImageRef wkImage) { - WKView* view = platformWebView->platformView(); - [view display]; + RetainPtr<CGImageRef> image(AdoptCF, WKImageCreateCGImage(wkImage)); - NSSize webViewSize = [view frame].size; - size_t pixelsWide = static_cast<size_t>(webViewSize.width); - size_t pixelsHigh = static_cast<size_t>(webViewSize.height); + size_t pixelsWide = CGImageGetWidth(image.get()); + size_t pixelsHigh = CGImageGetHeight(image.get()); size_t rowBytes = (4 * pixelsWide + 63) & ~63; void* buffer = calloc(pixelsHigh, rowBytes); - CGColorSpaceRef colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = CGBitmapContextCreate(buffer, pixelsWide, pixelsHigh, 8, rowBytes, colorSpace, kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host); CGColorSpaceRelease(colorSpace); - CGImageRef image = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, [[view window] windowNumber], kCGWindowImageBoundsIgnoreFraming | kCGWindowImageShouldBeOpaque); - CGContextDrawImage(context, CGRectMake(0, 0, CGImageGetWidth(image), CGImageGetHeight(image)), image); - CGImageRelease(image); + CGContextDrawImage(context, CGRectMake(0, 0, pixelsWide, pixelsHigh), image.get()); return context; } @@ -67,26 +70,29 @@ void computeMD5HashStringForContext(CGContextRef bitmapContext, char hashString[ size_t bytesPerRow = CGBitmapContextGetBytesPerRow(bitmapContext); // We need to swap the bytes to ensure consistent hashes independently of endianness - MD5_CTX md5Context; - MD5_Init(&md5Context); + MD5 md5; unsigned char* bitmapData = static_cast<unsigned char*>(CGBitmapContextGetData(bitmapContext)); +#if PLATFORM(MAC) if ((CGBitmapContextGetBitmapInfo(bitmapContext) & kCGBitmapByteOrderMask) == kCGBitmapByteOrder32Big) { for (unsigned row = 0; row < pixelsHigh; row++) { - uint32_t buffer[pixelsWide]; + Vector<uint8_t> buffer(4 * pixelsWide); for (unsigned column = 0; column < pixelsWide; column++) buffer[column] = OSReadLittleInt32(bitmapData, 4 * column); - MD5_Update(&md5Context, buffer, 4 * pixelsWide); + md5.addBytes(buffer); bitmapData += bytesPerRow; } } else { +#endif for (unsigned row = 0; row < pixelsHigh; row++) { - MD5_Update(&md5Context, bitmapData, 4 * pixelsWide); + md5.addBytes(bitmapData, 4 * pixelsWide); bitmapData += bytesPerRow; } +#if PLATFORM(MAC) } +#endif - unsigned char hash[16]; - MD5_Final(hash, &md5Context); + Vector<uint8_t, 16> hash; + md5.checksum(hash); hashString[0] = '\0'; for (int i = 0; i < 16; i++) @@ -120,18 +126,10 @@ static void dumpBitmap(CGContextRef bitmapContext) } } -static void forceRepaintFunction(WKErrorRef, void* context) +void TestInvocation::dumpPixelsAndCompareWithExpected(WKImageRef image) { - *static_cast<bool*>(context) = true; -} + CGContextRef context = createCGContextFromImage(image); -void TestInvocation::dumpPixelsAndCompareWithExpected() -{ - WKPageForceRepaint(TestController::shared().mainWebView()->page(), &m_gotRepaint, forceRepaintFunction); - TestController::shared().runUntil(m_gotRepaint, TestController::LongTimeout); - - CGContextRef context = createCGContextFromPlatformView(TestController::shared().mainWebView()); - // Compute the hash of the bitmap context pixels char actualHash[33]; computeMD5HashStringForContext(context, actualHash); diff --git a/Tools/WebKitTestRunner/config.h b/Tools/WebKitTestRunner/config.h new file mode 100644 index 0000000..81f8066 --- /dev/null +++ b/Tools/WebKitTestRunner/config.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2011 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 WebKitTestRunner_config_h +#define WebKitTestRunner_config_h + +#include <wtf/Platform.h> + +/* See note in wtf/Platform.h for more info on EXPORT_MACROS. */ +#if USE(EXPORT_MACROS) + +#include <wtf/ExportMacros.h> + +#define WTF_EXPORT_PRIVATE WTF_IMPORT +#define JS_EXPORT_PRIVATE WTF_IMPORT +#define WEBKIT_EXPORTDATA WTF_IMPORT + +#define JS_EXPORTDATA JS_EXPORT_PRIVATE +#define JS_EXPORTCLASS JS_EXPORT_PRIVATE + +#else /* !USE(EXPORT_MACROS) */ + +#if OS(WINDOWS) && !COMPILER(GCC) && !defined(BUILDING_WX__) +#define JS_EXPORTDATA __declspec(dllimport) +#define WEBKIT_EXPORTDATA __declspec(dllimport) +#else +#define JS_EXPORTDATA +#define WEBKIT_EXPORTDATA +#endif + +#define WTF_EXPORT_PRIVATE JS_EXPORTDATA +#define JS_EXPORT_PRIVATE JS_EXPORTDATA + +#endif /* USE(EXPORT_MACROS) */ + +#if PLATFORM(WIN) +#define WTF_USE_CF 1 +#if defined(WIN_CAIRO) +#define WTF_PLATFORM_CAIRO 1 +#define WTF_USE_CURL 1 +#else +#define WTF_PLATFORM_CG 1 +#define WTF_USE_CFNETWORK 1 +#endif +#endif + +#endif diff --git a/Tools/WebKitTestRunner/mac/TestControllerMac.mm b/Tools/WebKitTestRunner/mac/TestControllerMac.mm index 8ceabc1..c884c8f 100644 --- a/Tools/WebKitTestRunner/mac/TestControllerMac.mm +++ b/Tools/WebKitTestRunner/mac/TestControllerMac.mm @@ -23,11 +23,12 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include "TestController.h" +#import "config.h" +#import "TestController.h" -#include "PlatformWebView.h" -#include <WebKit2/WKStringCF.h> -#include <mach-o/dyld.h> +#import "PlatformWebView.h" +#import <WebKit2/WKStringCF.h> +#import <mach-o/dyld.h> namespace WTR { diff --git a/Tools/WebKitTestRunner/mac/main.mm b/Tools/WebKitTestRunner/mac/main.mm index d2f26ab..12326a4 100644 --- a/Tools/WebKitTestRunner/mac/main.mm +++ b/Tools/WebKitTestRunner/mac/main.mm @@ -23,6 +23,8 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#import "config.h" + #import "TestController.h" int main(int argc, const char* argv[]) diff --git a/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp b/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp index 18e2523..03e2c02 100644 --- a/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp +++ b/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp @@ -24,6 +24,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include "PlatformWebView.h" #include "qgraphicswkview.h" #include "qwkcontext.h" diff --git a/Tools/WebKitTestRunner/qt/TestControllerQt.cpp b/Tools/WebKitTestRunner/qt/TestControllerQt.cpp index 30a1b5c..bd572b0 100644 --- a/Tools/WebKitTestRunner/qt/TestControllerQt.cpp +++ b/Tools/WebKitTestRunner/qt/TestControllerQt.cpp @@ -24,6 +24,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestController.h" #include "WKStringQt.h" diff --git a/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp b/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp index b5fbda4..ca9d6dc 100644 --- a/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp +++ b/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp @@ -23,11 +23,12 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestInvocation.h" namespace WTR { -void TestInvocation::dumpPixelsAndCompareWithExpected() +void TestInvocation::dumpPixelsAndCompareWithExpected(WKImageRef) { } diff --git a/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro b/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro index d6579a4..684a14a 100644 --- a/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro +++ b/Tools/WebKitTestRunner/qt/WebKitTestRunner.pro @@ -9,6 +9,7 @@ GENERATED_SOURCES_DIR = ../generated include(../../../Source/WebKit.pri) DEFINES += USE_SYSTEM_MALLOC=1 +DEFINES -= QT_ASCII_CAST_WARNINGS INCLUDEPATH += \ $$BASEDIR \ diff --git a/Tools/WebKitTestRunner/qt/main.cpp b/Tools/WebKitTestRunner/qt/main.cpp index 4312a05..2061714 100644 --- a/Tools/WebKitTestRunner/qt/main.cpp +++ b/Tools/WebKitTestRunner/qt/main.cpp @@ -24,6 +24,8 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include "TestController.h" #include <QApplication> diff --git a/Tools/WebKitTestRunner/win/InjectedBundle.vcproj b/Tools/WebKitTestRunner/win/InjectedBundle.vcproj index eec770b..e1da915 100644 --- a/Tools/WebKitTestRunner/win/InjectedBundle.vcproj +++ b/Tools/WebKitTestRunner/win/InjectedBundle.vcproj @@ -18,7 +18,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="2" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;..\Configurations\InjectedBundleCoreFoundation.vsprops;..\Configurations\InjectedBundleCommon.vsprops" + InheritedPropertySheets=".\InjectedBundleDebug.vsprops" CharacterSet="1" > <Tool @@ -79,7 +79,7 @@ <Configuration Name="Release|Win32" ConfigurationType="2" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;..\Configurations\InjectedBundleCoreFoundation.vsprops;..\Configurations\InjectedBundleCommon.vsprops" + InheritedPropertySheets=".\InjectedBundleRelease.vsprops" CharacterSet="1" > <Tool @@ -140,7 +140,7 @@ <Configuration Name="Debug_All|Win32" ConfigurationType="2" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;..\Configurations\InjectedBundleCoreFoundation.vsprops;..\Configurations\InjectedBundleCommon.vsprops" + InheritedPropertySheets=".\InjectedBundleDebugAll.vsprops" CharacterSet="1" > <Tool @@ -201,7 +201,7 @@ <Configuration Name="Debug_Cairo_CFLite|Win32" ConfigurationType="2" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;..\Configurations\InjectedBundleCFLite.vsprops;..\Configurations\InjectedBundleCommon.vsprops" + InheritedPropertySheets=".\InjectedBundleDebugCairoCFLite.vsprops" CharacterSet="1" > <Tool @@ -262,7 +262,7 @@ <Configuration Name="Release_Cairo_CFLite|Win32" ConfigurationType="2" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;..\Configurations\InjectedBundleCFLite.vsprops;..\Configurations\InjectedBundleCommon.vsprops" + InheritedPropertySheets=".\InjectedBundleReleaseCairoCFLite.vsprops" CharacterSet="1" > <Tool @@ -321,9 +321,9 @@ /> </Configuration> <Configuration - Name="Release_LTCG|Win32" + Name="Production|Win32" ConfigurationType="2" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;..\Configurations\InjectedBundleCoreFoundation.vsprops;..\Configurations\InjectedBundleCommon.vsprops" + InheritedPropertySheets=".\InjectedBundleProduction.vsprops" CharacterSet="1" WholeProgramOptimization="1" > diff --git a/Tools/WebKitTestRunner/win/InjectedBundleDebug.vsprops b/Tools/WebKitTestRunner/win/InjectedBundleDebug.vsprops new file mode 100644 index 0000000..06623be --- /dev/null +++ b/Tools/WebKitTestRunner/win/InjectedBundleDebug.vsprops @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InjectedBundleDebug" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops; + ..\Configurations\InjectedBundleCoreFoundation.vsprops; + ..\Configurations\InjectedBundleCommon.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/InjectedBundleDebugAll.vsprops b/Tools/WebKitTestRunner/win/InjectedBundleDebugAll.vsprops new file mode 100644 index 0000000..a084312 --- /dev/null +++ b/Tools/WebKitTestRunner/win/InjectedBundleDebugAll.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InjectedBundleDebugAll" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops; + ..\Configurations\InjectedBundleCoreFoundation.vsprops; + ..\Configurations\InjectedBundleCommon.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/InjectedBundleDebugCairoCFLite.vsprops b/Tools/WebKitTestRunner/win/InjectedBundleDebugCairoCFLite.vsprops new file mode 100644 index 0000000..77fc82d --- /dev/null +++ b/Tools/WebKitTestRunner/win/InjectedBundleDebugCairoCFLite.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InjectedBundleDebugCairoCFLite" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops; + ..\Configurations\InjectedBundleCFLite.vsprops; + ..\Configurations\InjectedBundleCommon.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/InjectedBundleGenerated.vcproj b/Tools/WebKitTestRunner/win/InjectedBundleGenerated.vcproj index 83c3868..c74fd3e 100755 --- a/Tools/WebKitTestRunner/win/InjectedBundleGenerated.vcproj +++ b/Tools/WebKitTestRunner/win/InjectedBundleGenerated.vcproj @@ -43,7 +43,7 @@ /> </Configuration> <Configuration - Name="Release_LTCG|Win32" + Name="Production|Win32" ConfigurationType="0" InheritedPropertySheets=".\InjectedBundleGeneratedCommon.vsprops" > diff --git a/Tools/WebKitTestRunner/win/InjectedBundleProduction.vsprops b/Tools/WebKitTestRunner/win/InjectedBundleProduction.vsprops new file mode 100644 index 0000000..b036c84 --- /dev/null +++ b/Tools/WebKitTestRunner/win/InjectedBundleProduction.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InjectedBundleProduction" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops; + ..\Configurations\InjectedBundleCoreFoundation.vsprops; + ..\Configurations\InjectedBundleCommon.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/InjectedBundleRelease.vsprops b/Tools/WebKitTestRunner/win/InjectedBundleRelease.vsprops new file mode 100644 index 0000000..8f65ff3 --- /dev/null +++ b/Tools/WebKitTestRunner/win/InjectedBundleRelease.vsprops @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InjectedBundleRelease" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops; + ..\Configurations\InjectedBundleCoreFoundation.vsprops; + ..\Configurations\InjectedBundleCommon.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/InjectedBundleReleaseCairoCFLite.vsprops b/Tools/WebKitTestRunner/win/InjectedBundleReleaseCairoCFLite.vsprops new file mode 100644 index 0000000..c7dfb84 --- /dev/null +++ b/Tools/WebKitTestRunner/win/InjectedBundleReleaseCairoCFLite.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InjectedBundleReleaseCairoCFLite" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops; + ..\Configurations\InjectedBundleCFLite.vsprops; + ..\Configurations\InjectedBundleCommon.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp b/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp index e75ccc8..9e23d70 100644 --- a/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp +++ b/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "PlatformWebView.h" namespace WTR { diff --git a/Tools/WebKitTestRunner/win/TestControllerWin.cpp b/Tools/WebKitTestRunner/win/TestControllerWin.cpp index 6201cf7..44a6138 100644 --- a/Tools/WebKitTestRunner/win/TestControllerWin.cpp +++ b/Tools/WebKitTestRunner/win/TestControllerWin.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestController.h" #include <fcntl.h> diff --git a/Tools/WebKitTestRunner/win/TestInvocationWin.cpp b/Tools/WebKitTestRunner/win/TestInvocationWin.cpp index b5fbda4..7c79ff5 100644 --- a/Tools/WebKitTestRunner/win/TestInvocationWin.cpp +++ b/Tools/WebKitTestRunner/win/TestInvocationWin.cpp @@ -23,12 +23,15 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "TestInvocation.h" namespace WTR { -void TestInvocation::dumpPixelsAndCompareWithExpected() +#if !PLATFORM(CG) +void TestInvocation::dumpPixelsAndCompareWithExpected(WKImageRef) { } +#endif } // namespace WTR diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj b/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj index e12338a..bb4b4c6 100644 --- a/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj +++ b/Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj @@ -18,7 +18,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;..\Configurations\WebKitTestRunnerCommon.vsprops;..\Configurations\WebKitTestRunnerCoreFoundation.vsprops" + InheritedPropertySheets=".\WebKitTestRunnerDebug.vsprops" CharacterSet="1" > <Tool @@ -79,7 +79,7 @@ <Configuration Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;..\Configurations\WebKitTestRunnerCommon.vsprops;..\Configurations\WebKitTestRunnerCoreFoundation.vsprops" + InheritedPropertySheets=".\WebKitTestRunnerRelease.vsprops" CharacterSet="1" > <Tool @@ -140,7 +140,7 @@ <Configuration Name="Debug_All|Win32" ConfigurationType="1" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;..\Configurations\WebKitTestRunnerCommon.vsprops;..\Configurations\WebKitTestRunnerCoreFoundation.vsprops" + InheritedPropertySheets=".\WebKitTestRunnerDebugAll.vsprops" CharacterSet="1" > <Tool @@ -201,7 +201,7 @@ <Configuration Name="Debug_Cairo_CFLite|Win32" ConfigurationType="1" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;..\Configurations\WebKitTestRunnerCommon.vsprops;..\Configurations\WebKitTestRunnerCFLite.vsprops" + InheritedPropertySheets=".\WebKitTestRunnerDebugCairoCFLite.vsprops" CharacterSet="1" > <Tool @@ -262,7 +262,7 @@ <Configuration Name="Release_Cairo_CFLite|Win32" ConfigurationType="1" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;..\Configurations\WebKitTestRunnerCommon.vsprops;..\Configurations\WebKitTestRunnerCFLite.vsprops" + InheritedPropertySheets=".\WebKitTestRunnerReleaseCairoCFLite.vsprops" CharacterSet="1" > <Tool @@ -321,9 +321,9 @@ /> </Configuration> <Configuration - Name="Release_LTCG|Win32" + Name="Production|Win32" ConfigurationType="1" - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;..\Configurations\WebKitTestRunnerCommon.vsprops;..\Configurations\WebKitTestRunnerCoreFoundation.vsprops" + InheritedPropertySheets=".\WebKitTestRunnerProduction.vsprops" CharacterSet="1" WholeProgramOptimization="1" > @@ -406,6 +406,70 @@ > </File> </Filter> + <Filter + Name="cg" + > + <File + RelativePath="..\cg\TestInvocationCG.cpp" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="cairo" + > + <File + RelativePath="..\cairo\TestInvocationCairo.cpp" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Production|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + </Filter> <File RelativePath="..\PlatformWebView.h" > diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunnerDebug.vsprops b/Tools/WebKitTestRunner/win/WebKitTestRunnerDebug.vsprops new file mode 100644 index 0000000..bf12fe2 --- /dev/null +++ b/Tools/WebKitTestRunner/win/WebKitTestRunnerDebug.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerDebug" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops; + ..\Configurations\WebKitTestRunnerCommon.vsprops; + ..\Configurations\WebKitTestRunnerCoreFoundation.vsprops; + ..\Configurations\WebKitTestRunnerCoreGraphics.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunnerDebugAll.vsprops b/Tools/WebKitTestRunner/win/WebKitTestRunnerDebugAll.vsprops new file mode 100644 index 0000000..1629640 --- /dev/null +++ b/Tools/WebKitTestRunner/win/WebKitTestRunnerDebugAll.vsprops @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerDebugAll" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops; + ..\Configurations\WebKitTestRunnerCommon.vsprops; + ..\Configurations\WebKitTestRunnerCoreFoundation.vsprops; + ..\Configurations\WebKitTestRunnerCoreGraphics.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunnerDebugCairoCFLite.vsprops b/Tools/WebKitTestRunner/win/WebKitTestRunnerDebugCairoCFLite.vsprops new file mode 100644 index 0000000..0e18af6 --- /dev/null +++ b/Tools/WebKitTestRunner/win/WebKitTestRunnerDebugCairoCFLite.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerDebugCairoCFLite" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops; + ..\Configurations\WebKitTestRunnerCommon.vsprops; + ..\Configurations\WebKitTestRunnerCFLite.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunnerProduction.vsprops b/Tools/WebKitTestRunner/win/WebKitTestRunnerProduction.vsprops new file mode 100644 index 0000000..28dbf04 --- /dev/null +++ b/Tools/WebKitTestRunner/win/WebKitTestRunnerProduction.vsprops @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerProduction" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops; + ..\Configurations\WebKitTestRunnerCommon.vsprops; + ..\Configurations\WebKitTestRunnerCoreFoundation.vsprops; + ..\Configurations\WebKitTestRunnerCoreGraphics.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunnerRelease.vsprops b/Tools/WebKitTestRunner/win/WebKitTestRunnerRelease.vsprops new file mode 100644 index 0000000..788f4ef --- /dev/null +++ b/Tools/WebKitTestRunner/win/WebKitTestRunnerRelease.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerRelease" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops; + ..\Configurations\WebKitTestRunnerCommon.vsprops; + ..\Configurations\WebKitTestRunnerCoreFoundation.vsprops; + ..\Configurations\WebKitTestRunnerCoreGraphics.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/WebKitTestRunnerReleaseCairoCFLite.vsprops b/Tools/WebKitTestRunner/win/WebKitTestRunnerReleaseCairoCFLite.vsprops new file mode 100644 index 0000000..f6e0f00 --- /dev/null +++ b/Tools/WebKitTestRunner/win/WebKitTestRunnerReleaseCairoCFLite.vsprops @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitTestRunnerReleaseCairoCFLite" + InheritedPropertySheets=" + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops; + $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops; + ..\Configurations\WebKitTestRunnerCommon.vsprops; + ..\Configurations\WebKitTestRunnerCFLite.vsprops" + > +</VisualStudioPropertySheet> diff --git a/Tools/WebKitTestRunner/win/main.cpp b/Tools/WebKitTestRunner/win/main.cpp index 6ef0f66..14c25dc 100644 --- a/Tools/WebKitTestRunner/win/main.cpp +++ b/Tools/WebKitTestRunner/win/main.cpp @@ -23,6 +23,8 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include "TestController.h" int main(int argc, const char* argv[]) |