Index: Tools/DumpRenderTree/chromium/TestShell.h |
diff --git a/Tools/DumpRenderTree/chromium/TestShell.h b/Tools/DumpRenderTree/chromium/TestShell.h |
deleted file mode 100644 |
index 2263624d530b8c758a607ad78ce24aab5a448cca..0000000000000000000000000000000000000000 |
--- a/Tools/DumpRenderTree/chromium/TestShell.h |
+++ /dev/null |
@@ -1,243 +0,0 @@ |
-/* |
- * Copyright (C) 2012 Google 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: |
- * |
- * * Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * * 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. |
- * * Neither the name of Google Inc. nor the names of its |
- * contributors may be used to endorse or promote products derived from |
- * this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT |
- * OWNER OR 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 TestShell_h |
-#define TestShell_h |
- |
-#include "TestEventPrinter.h" |
-#include "WebPreferences.h" |
-#include "WebTestInterfaces.h" |
-#include "WebViewHost.h" |
-#include <string> |
-#include <wtf/OwnPtr.h> |
-#include <wtf/Vector.h> |
- |
-// TestShell is a container of global variables and has bridge functions between |
-// various objects. Only one instance is created in one DRT process. |
- |
-namespace WebKit { |
-class WebDevToolsAgentClient; |
-class WebFrame; |
-class WebThread; |
-class WebView; |
-class WebThemeEngine; |
-class WebURL; |
-} |
- |
-class DRTDevToolsAgent; |
-class DRTDevToolsCallArgs; |
-class DRTDevToolsClient; |
-class MockWebPrerenderingSupport; |
-class MockPlatform; |
- |
-struct TestParams { |
- bool dumpTree; |
- bool debugRenderTree; |
- bool debugLayerTree; |
- bool printSeparators; |
- WebKit::WebURL testUrl; |
- std::string pixelHash; |
- |
- TestParams() |
- : dumpTree(true) |
- , debugRenderTree(false) |
- , debugLayerTree(false) |
- , printSeparators(false) { } |
-}; |
- |
-class TestShell { |
-public: |
- TestShell(); |
- ~TestShell(); |
- |
- void initialize(MockPlatform*); |
- |
- // The main WebView. |
- WebKit::WebView* webView() const { return m_webView; } |
- // Returns the host for the main WebView. |
- WebViewHost* webViewHost() const { return m_webViewHost.get(); } |
- WebTestRunner::WebTestRunner* testRunner() const { return m_testInterfaces->testRunner(); } |
- const TestEventPrinter* printer() const { return &m_printer; } |
- |
- WebTestRunner::WebPreferences* preferences() { return &m_prefs; } |
- void applyPreferences() { m_prefs.applyTo(m_webView); } |
- |
- void bindJSObjectsToWindow(WebKit::WebFrame*); |
- void runFileTest(const TestParams&, bool shouldDumpPixelTests); |
- void callJSGC(); |
- void resetTestController(); |
- void waitTestFinished(); |
- |
- // Operations to the main window. |
- void loadURL(const WebKit::WebURL&); |
- void reload(); |
- void goToOffset(int offset); |
- int navigationEntryCount() const; |
- |
- void setFocus(WebKit::WebWidget*, bool enable); |
- |
- // Called by the DRTTestRunner to signal test completion. |
- void testFinished(WebViewHost*); |
- // Called by DRTTestRunner when a test hits the timeout, but does not |
- // cause a hang. We can avoid killing TestShell in this case and still dump |
- // the test results. |
- void testTimedOut(); |
- |
- bool allowExternalPages() const { return m_allowExternalPages; } |
- void setAllowExternalPages(bool allowExternalPages) { m_allowExternalPages = allowExternalPages; } |
- |
- void setAcceleratedCompositingForVideoEnabled(bool enabled) { m_acceleratedCompositingForVideoEnabled = enabled; } |
- void setAcceleratedCompositingForFixedPositionEnabled(bool enabled) { m_acceleratedCompositingForFixedPositionEnabled = enabled; } |
- void setAcceleratedCompositingForOverflowScrollEnabled(bool enabled) { m_acceleratedCompositingForOverflowScrollEnabled = enabled; } |
- void setAcceleratedCompositingForTransitionEnabled(bool enabled) { m_acceleratedCompositingForTransitionEnabled = enabled; } |
- bool softwareCompositingEnabled() { return m_softwareCompositingEnabled; } |
- void setSoftwareCompositingEnabled(bool enabled) { m_softwareCompositingEnabled = enabled; } |
- void setThreadedCompositingEnabled(bool enabled) { m_threadedCompositingEnabled = enabled; } |
- void setForceCompositingMode(bool enabled) { m_forceCompositingMode = enabled; } |
- void setThreadedHTMLParser(bool enabled) { m_threadedHTMLParser = enabled; } |
- void setAccelerated2dCanvasEnabled(bool enabled) { m_accelerated2dCanvasEnabled = enabled; } |
- void setPerTilePaintingEnabled(bool enabled) { m_perTilePaintingEnabled = enabled; } |
- void setDeferredImageDecodingEnabled(bool enabled) { m_deferredImageDecodingEnabled = enabled; } |
-#if defined(OS_WIN) |
- // Access to the finished event. Used by the static WatchDog thread. |
- HANDLE finishedEvent() { return m_finishedEvent; } |
-#endif |
- |
- // Get the timeout for running a test in milliseconds. |
- int layoutTestTimeout() { return m_timeout; } |
- int layoutTestTimeoutForWatchDog() { return layoutTestTimeout() + 1000; } |
- void setLayoutTestTimeout(int timeout) { m_timeout = timeout; } |
- |
- // V8 JavaScript stress test options. |
- int stressOpt() { return m_stressOpt; } |
- void setStressOpt(bool stressOpt) { m_stressOpt = stressOpt; } |
- int stressDeopt() { return m_stressDeopt; } |
- void setStressDeopt(int stressDeopt) { m_stressDeopt = stressDeopt; } |
- |
- // The JavaScript flags specified as a strings. |
- std::string javaScriptFlags() { return m_javaScriptFlags; } |
- void setJavaScriptFlags(std::string javaScriptFlags) { m_javaScriptFlags = javaScriptFlags; } |
- |
- // Set whether to dump when the loaded page has finished processing. This is used with multiple load |
- // testing where we only want to have the output from the last load. |
- void setDumpWhenFinished(bool dumpWhenFinished) { m_dumpWhenFinished = dumpWhenFinished; } |
- |
- void setIsDisplayingModalDialog(bool isDisplayingModalDialog) { m_isDisplayingModalDialog = isDisplayingModalDialog; } |
- bool isDisplayingModalDialog() const { return m_isDisplayingModalDialog; } |
- |
- // Set whether the binary data output should be encoded in base64 text. |
- void setEncodeBinary(bool encodeBinary) { m_printer.setEncodeBinary(encodeBinary); } |
- |
- WebViewHost* createNewWindow(const WebKit::WebURL&); |
- void closeWindow(WebViewHost*); |
- void closeRemainingWindows(); |
- int windowCount(); |
- void captureHistoryForWindow(size_t windowIndex, WebKit::WebVector<WebKit::WebHistoryItem>*, size_t* currentEntryIndex); |
- static void resizeWindowForTest(WebViewHost*, const WebKit::WebURL&); |
- |
- void showDevTools(); |
- void closeDevTools(); |
- |
- DRTDevToolsAgent* drtDevToolsAgent() { return m_drtDevToolsAgent.get(); } |
- DRTDevToolsClient* drtDevToolsClient() { return m_drtDevToolsClient.get(); } |
- WebViewHost* devToolsWebView() { return m_devTools; } |
- |
- static const int virtualWindowBorder = 3; |
- |
- typedef Vector<WebViewHost*> WindowList; |
- WindowList windowList() const { return m_windowList; } |
- |
- WebKit::WebThread* webCompositorThread() const { return m_webCompositorThread.get(); } |
- |
-private: |
- WebViewHost* createNewWindow(const WebKit::WebURL&, DRTDevToolsAgent*, WebTestRunner::WebTestInterfaces*); |
- void createMainWindow(); |
- void createDRTDevToolsClient(DRTDevToolsAgent*); |
- |
- void resetWebSettings(WebKit::WebView&); |
- void dump(); |
- std::string dumpAllBackForwardLists(); |
- void dumpImage(SkCanvas*) const; |
- |
- bool m_testIsPending; |
- bool m_testIsPreparing; |
- WebKit::WebView* m_webView; |
- WebKit::WebWidget* m_focusedWidget; |
- WebViewHost* m_devTools; |
- |
- // Be careful of the destruction order of the following objects. |
- TestEventPrinter m_printer; |
- OwnPtr<DRTDevToolsAgent> m_drtDevToolsAgent; |
- OwnPtr<DRTDevToolsClient> m_drtDevToolsClient; |
- OwnPtr<WebTestRunner::WebTestInterfaces> m_testInterfaces; |
- OwnPtr<WebTestRunner::WebTestInterfaces> m_devToolsTestInterfaces; |
- // It's important that this thread is destroyed after the WebViewHost. |
- OwnPtr<WebKit::WebThread> m_webCompositorThread; |
- OwnPtr<WebViewHost> m_webViewHost; |
- OwnPtr<MockWebPrerenderingSupport> m_prerenderingSupport; |
- |
- TestParams m_params; |
- bool m_dumpPixelsForCurrentTest; |
- int m_timeout; // timeout value in millisecond |
- bool m_allowExternalPages; |
- bool m_acceleratedCompositingForVideoEnabled; |
- bool m_acceleratedCompositingForFixedPositionEnabled; |
- bool m_acceleratedCompositingForOverflowScrollEnabled; |
- bool m_acceleratedCompositingForTransitionEnabled; |
- bool m_softwareCompositingEnabled; |
- bool m_threadedCompositingEnabled; |
- bool m_forceCompositingMode; |
- bool m_threadedHTMLParser; |
- bool m_accelerated2dCanvasEnabled; |
- bool m_perTilePaintingEnabled; |
- bool m_deferredImageDecodingEnabled; |
- WebTestRunner::WebPreferences m_prefs; |
- bool m_stressOpt; |
- bool m_stressDeopt; |
- std::string m_javaScriptFlags; |
- bool m_dumpWhenFinished; |
- bool m_isDisplayingModalDialog; |
- |
- |
- // List of all windows in this process. |
- // The main window should be put into windowList[0]. |
- WindowList m_windowList; |
- |
-#if defined(OS_WIN) |
- // Used by the watchdog to know when it's finished. |
- HANDLE m_finishedEvent; |
-#endif |
-}; |
- |
-void platformInit(int*, char***); |
-void openStartupDialog(); |
-bool checkLayoutTestSystemDependencies(); |
- |
-#endif // TestShell_h |