2011-06-28 Hans Wennborg <hans@chromium.org>
[WebKit-https.git] / Tools / DumpRenderTree / chromium / TestShell.h
index 398d715..b3548cb 100644 (file)
@@ -54,13 +54,11 @@ class WebNotificationPresenter;
 class WebView;
 class WebURL;
 }
-namespace skia {
-class PlatformCanvas;
-}
 
 class DRTDevToolsAgent;
 class DRTDevToolsCallArgs;
 class DRTDevToolsClient;
+class WebPermissions;
 
 struct TestParams {
     bool dumpTree;
@@ -78,7 +76,7 @@ struct TestParams {
         , dumpPixels(false)
         , debugRenderTree(false)
         , debugLayerTree(false)
-        , printSeparators(false) {}
+        , printSeparators(false) { }
 };
 
 class TestShell {
@@ -89,7 +87,7 @@ public:
     // The main WebView.
     WebKit::WebView* webView() const { return m_webView; }
     // Returns the host for the main WebView.
-    WebViewHost* webViewHost() const { return m_webViewHost; }
+    WebViewHost* webViewHost() const { return m_webViewHost.get(); }
     LayoutTestController* layoutTestController() const { return m_layoutTestController.get(); }
     EventSender* eventSender() const { return m_eventSender.get(); }
     AccessibilityController* accessibilityController() const { return m_accessibilityController.get(); }
@@ -99,6 +97,8 @@ public:
     WebPreferences* preferences() { return &m_prefs; }
     void applyPreferences() { m_prefs.applyTo(m_webView); }
 
+    WebPermissions* webPermissions() { return m_webPermissions.get(); }
+
     void bindJSObjectsToWindow(WebKit::WebFrame*);
     void runFileTest(const TestParams&);
     void callJSGC();
@@ -106,7 +106,7 @@ public:
     void waitTestFinished();
 
     // Operations to the main window.
-    void loadURL(const WebKit::WebURL& url);
+    void loadURL(const WebKit::WebURL&);
     void reload();
     void goToOffset(int offset);
     int navigationEntryCount() const;
@@ -129,10 +129,13 @@ public:
     void setAllowExternalPages(bool allowExternalPages) { m_allowExternalPages = allowExternalPages; }
 
     void setAcceleratedCompositingEnabled(bool enabled) { m_acceleratedCompositingEnabled = enabled; }
+    void setCompositeToTexture(bool enabled) { m_compositeToTexture = enabled; }
+    void setForceCompositingMode(bool enabled) { m_forceCompositingMode = enabled; }
     void setAccelerated2dCanvasEnabled(bool enabled) { m_accelerated2dCanvasEnabled = enabled; }
-
+    void setLegacyAccelerated2dCanvasEnabled(bool enabled) { m_legacyAccelerated2dCanvasEnabled = enabled; }
+    void setAcceleratedDrawingEnabled(bool enabled) { m_acceleratedDrawingEnabled = enabled; }
 #if defined(OS_WIN)
-    // Access to the finished event.  Used by the static WatchDog thread.
+    // Access to the finished event. Used by the static WatchDog thread.
     HANDLE finishedEvent() { return m_finishedEvent; }
 #endif
 
@@ -181,7 +184,7 @@ private:
     void resetWebSettings(WebKit::WebView&);
     void dump();
     std::string dumpAllBackForwardLists();
-    void dumpImage(skia::PlatformCanvas*) const;
+    void dumpImage(SkCanvas*) const;
 
     bool m_testIsPending;
     bool m_testIsPreparing;
@@ -189,8 +192,11 @@ private:
     WebKit::WebView* m_webView;
     WebKit::WebWidget* m_focusedWidget;
     bool m_testShellMode;
-    WebViewHost* m_webViewHost;
     WebViewHost* m_devTools;
+
+    // Be careful of the destruction order of the following objects.
+    OwnPtr<TestEventPrinter> m_printer;
+    OwnPtr<WebPermissions> m_webPermissions;
     OwnPtr<DRTDevToolsAgent> m_drtDevToolsAgent;
     OwnPtr<DRTDevToolsClient> m_drtDevToolsClient;
     OwnPtr<AccessibilityController> m_accessibilityController;
@@ -199,12 +205,17 @@ private:
     OwnPtr<PlainTextController> m_plainTextController;
     OwnPtr<TextInputController> m_textInputController;
     OwnPtr<NotificationPresenter> m_notificationPresenter;
-    OwnPtr<TestEventPrinter> m_printer;
+    OwnPtr<WebViewHost> m_webViewHost;
+
     TestParams m_params;
     int m_timeout; // timeout value in millisecond
     bool m_allowExternalPages;
     bool m_acceleratedCompositingEnabled;
+    bool m_compositeToTexture;
+    bool m_forceCompositingMode;
     bool m_accelerated2dCanvasEnabled;
+    bool m_legacyAccelerated2dCanvasEnabled;
+    bool m_acceleratedDrawingEnabled;
     WebPreferences m_prefs;
     bool m_stressOpt;
     bool m_stressDeopt;
@@ -220,6 +231,9 @@ private:
     // Used by the watchdog to know when it's finished.
     HANDLE m_finishedEvent;
 #endif
+
+    // Temporary directory for IndexedDB (LevelDB doesn't support in-memory databases.)
+    OwnPtr<webkit_support::ScopedTempDirectory> m_tempIndexedDBDirectory;
 };
 
 void platformInit(int*, char***);