2011-06-28 Hans Wennborg <hans@chromium.org>
[WebKit-https.git] / Tools / DumpRenderTree / chromium / TestShell.h
index 2a68b24..b3548cb 100644 (file)
@@ -58,6 +58,7 @@ class WebURL;
 class DRTDevToolsAgent;
 class DRTDevToolsCallArgs;
 class DRTDevToolsClient;
+class WebPermissions;
 
 struct TestParams {
     bool dumpTree;
@@ -75,7 +76,7 @@ struct TestParams {
         , dumpPixels(false)
         , debugRenderTree(false)
         , debugLayerTree(false)
-        , printSeparators(false) {}
+        , printSeparators(false) { }
 };
 
 class TestShell {
@@ -86,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(); }
@@ -96,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();
@@ -103,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;
@@ -132,7 +135,7 @@ public:
     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
 
@@ -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,7 +205,8 @@ 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;
@@ -224,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***);