Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / content / shell / renderer / webkit_test_runner.h
index 83f6b7f..c914629 100644 (file)
 #include "content/public/renderer/render_view_observer.h"
 #include "content/public/renderer/render_view_observer_tracker.h"
 #include "content/shell/common/shell_test_configuration.h"
-#include "content/shell/common/test_runner/WebPreferences.h"
-#include "content/shell/renderer/test_runner/WebTestDelegate.h"
+#include "content/shell/common/test_runner/test_preferences.h"
+#include "content/shell/renderer/test_runner/web_test_delegate.h"
+#include "third_party/WebKit/public/platform/WebScreenOrientationType.h"
 #include "v8/include/v8.h"
 
+class SkBitmap;
 class SkCanvas;
 
 namespace blink {
+class WebBatteryStatus;
 class WebDeviceMotionData;
 class WebDeviceOrientationData;
 struct WebRect;
 }
 
-namespace WebTestRunner {
-class WebTestProxyBase;
-}
-
 namespace content {
 
 class LeakDetector;
+class WebTestProxyBase;
+struct LeakDetectionResult;
 
 // This is the renderer side of the webkit test runner.
 class WebKitTestRunner : public RenderViewObserver,
                          public RenderViewObserverTracker<WebKitTestRunner>,
-                         public WebTestRunner::WebTestDelegate {
+                         public WebTestDelegate {
  public:
   explicit WebKitTestRunner(RenderView* render_view);
   virtual ~WebKitTestRunner();
 
   // RenderViewObserver implementation.
   virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
-  virtual void DidClearWindowObject(blink::WebFrame* frame,
-                                    int world_id) OVERRIDE;
+  virtual void DidClearWindowObject(blink::WebLocalFrame* frame) OVERRIDE;
   virtual void Navigate(const GURL& url) OVERRIDE;
-  virtual void DidCommitProvisionalLoad(blink::WebFrame* frame,
+  virtual void DidCommitProvisionalLoad(blink::WebLocalFrame* frame,
                                         bool is_new_navigation) OVERRIDE;
-  virtual void DidFailProvisionalLoad(
-      blink::WebFrame* frame, const blink::WebURLError& error) OVERRIDE;
+  virtual void DidFailProvisionalLoad(blink::WebLocalFrame* frame,
+                                      const blink::WebURLError& error) OVERRIDE;
 
   // WebTestDelegate implementation.
-  virtual void clearEditCommand() OVERRIDE;
-  virtual void setEditCommand(const std::string& name,
+  virtual void ClearEditCommand() OVERRIDE;
+  virtual void SetEditCommand(const std::string& name,
                               const std::string& value) OVERRIDE;
-  virtual void setGamepadData(const blink::WebGamepads& gamepads) OVERRIDE;
-  virtual void setDeviceMotionData(
+  virtual void SetGamepadProvider(scoped_ptr<RendererGamepadProvider>) OVERRIDE;
+  virtual void SetDeviceLightData(const double data) OVERRIDE;
+  virtual void SetDeviceMotionData(
       const blink::WebDeviceMotionData& data) OVERRIDE;
-  virtual void setDeviceOrientationData(
+  virtual void SetDeviceOrientationData(
       const blink::WebDeviceOrientationData& data) OVERRIDE;
-  virtual void printMessage(const std::string& message) OVERRIDE;
-  virtual void postTask(::WebTestRunner::WebTask* task) OVERRIDE;
-  virtual void postDelayedTask(::WebTestRunner::WebTask* task,
-                               long long ms) OVERRIDE;
-  virtual blink::WebString registerIsolatedFileSystem(
+  virtual void SetScreenOrientation(
+      const blink::WebScreenOrientationType& orientation) OVERRIDE;
+  virtual void ResetScreenOrientation() OVERRIDE;
+  virtual void DidChangeBatteryStatus(
+      const blink::WebBatteryStatus& status) OVERRIDE;
+  virtual void PrintMessage(const std::string& message) OVERRIDE;
+  virtual void PostTask(WebTask* task) OVERRIDE;
+  virtual void PostDelayedTask(WebTask* task, long long ms) OVERRIDE;
+  virtual blink::WebString RegisterIsolatedFileSystem(
       const blink::WebVector<blink::WebString>& absolute_filenames) OVERRIDE;
-  virtual long long getCurrentTimeInMillisecond() OVERRIDE;
-  virtual blink::WebString getAbsoluteWebStringFromUTF8Path(
+  virtual long long GetCurrentTimeInMillisecond() OVERRIDE;
+  virtual blink::WebString GetAbsoluteWebStringFromUTF8Path(
       const std::string& utf8_path) OVERRIDE;
-  virtual blink::WebURL localFileToDataURL(
+  virtual blink::WebURL LocalFileToDataURL(
       const blink::WebURL& file_url) OVERRIDE;
-  virtual blink::WebURL rewriteLayoutTestsURL(
+  virtual blink::WebURL RewriteLayoutTestsURL(
       const std::string& utf8_url) OVERRIDE;
-  virtual ::WebTestRunner::WebPreferences* preferences() OVERRIDE;
-  virtual void applyPreferences() OVERRIDE;
+  virtual TestPreferences* Preferences() OVERRIDE;
+  virtual void ApplyPreferences() OVERRIDE;
   virtual std::string makeURLErrorDescription(const blink::WebURLError& error);
-  virtual void useUnfortunateSynchronousResizeMode(bool enable) OVERRIDE;
-  virtual void enableAutoResizeMode(const blink::WebSize& min_size,
+  virtual void UseUnfortunateSynchronousResizeMode(bool enable) OVERRIDE;
+  virtual void EnableAutoResizeMode(const blink::WebSize& min_size,
                                     const blink::WebSize& max_size) OVERRIDE;
-  virtual void disableAutoResizeMode(const blink::WebSize& new_size) OVERRIDE;
-  virtual void clearDevToolsLocalStorage() OVERRIDE;
-  virtual void showDevTools(const std::string& settings) OVERRIDE;
-  virtual void closeDevTools() OVERRIDE;
-  virtual void evaluateInWebInspector(long call_id,
+  virtual void DisableAutoResizeMode(const blink::WebSize& new_size) OVERRIDE;
+  virtual void ClearDevToolsLocalStorage() OVERRIDE;
+  virtual void ShowDevTools(const std::string& settings,
+                            const std::string& frontend_url) OVERRIDE;
+  virtual void CloseDevTools() OVERRIDE;
+  virtual void EvaluateInWebInspector(long call_id,
                                       const std::string& script) OVERRIDE;
-  virtual void clearAllDatabases() OVERRIDE;
-  virtual void setDatabaseQuota(int quota) OVERRIDE;
-  virtual void setDeviceScaleFactor(float factor) OVERRIDE;
-  virtual void setFocus(WebTestRunner::WebTestProxyBase* proxy,
-                        bool focus) OVERRIDE;
-  virtual void setAcceptAllCookies(bool accept) OVERRIDE;
-  virtual std::string pathToLocalResource(const std::string& resource) OVERRIDE;
-  virtual void setLocale(const std::string& locale) OVERRIDE;
-  virtual void testFinished() OVERRIDE;
-  virtual void closeRemainingWindows() OVERRIDE;
-  virtual void deleteAllCookies() OVERRIDE;
-  virtual int navigationEntryCount() OVERRIDE;
-  virtual void goToOffset(int offset) OVERRIDE;
-  virtual void reload() OVERRIDE;
-  virtual void loadURLForFrame(const blink::WebURL& url,
+  virtual void ClearAllDatabases() OVERRIDE;
+  virtual void SetDatabaseQuota(int quota) OVERRIDE;
+  virtual blink::WebNotificationPresenter::Permission
+      CheckWebNotificationPermission(const GURL& origin) OVERRIDE;
+  virtual void GrantWebNotificationPermission(const GURL& origin,
+                                              bool permission_granted) OVERRIDE;
+  virtual void ClearWebNotificationPermissions() OVERRIDE;
+  virtual void SetDeviceScaleFactor(float factor) OVERRIDE;
+  virtual void SetDeviceColorProfile(const std::string& name) OVERRIDE;
+  virtual void SetFocus(WebTestProxyBase* proxy, bool focus) OVERRIDE;
+  virtual void SetAcceptAllCookies(bool accept) OVERRIDE;
+  virtual std::string PathToLocalResource(const std::string& resource) OVERRIDE;
+  virtual void SetLocale(const std::string& locale) OVERRIDE;
+  virtual void TestFinished() OVERRIDE;
+  virtual void CloseRemainingWindows() OVERRIDE;
+  virtual void DeleteAllCookies() OVERRIDE;
+  virtual int NavigationEntryCount() OVERRIDE;
+  virtual void GoToOffset(int offset) OVERRIDE;
+  virtual void Reload() OVERRIDE;
+  virtual void LoadURLForFrame(const blink::WebURL& url,
                                const std::string& frame_name) OVERRIDE;
-  virtual bool allowExternalPages() OVERRIDE;
-  virtual void captureHistoryForWindow(
-      WebTestRunner::WebTestProxyBase* proxy,
-      blink::WebVector<blink::WebHistoryItem>* history,
-      size_t* currentEntryIndex) OVERRIDE;
+  virtual bool AllowExternalPages() OVERRIDE;
+  virtual std::string DumpHistoryForWindow(WebTestProxyBase* proxy) OVERRIDE;
 
   void Reset();
 
-  void set_proxy(::WebTestRunner::WebTestProxyBase* proxy) { proxy_ = proxy; }
-  ::WebTestRunner::WebTestProxyBase* proxy() const { return proxy_; }
+  void set_proxy(WebTestProxyBase* proxy) { proxy_ = proxy; }
+  WebTestProxyBase* proxy() const { return proxy_; }
+
+  void ReportLeakDetectionResult(const LeakDetectionResult& result);
 
  private:
   // Message handlers.
@@ -126,14 +136,14 @@ class WebKitTestRunner : public RenderViewObserver,
   // After finishing the test, retrieves the audio, text, and pixel dumps from
   // the TestRunner library and sends them to the browser process.
   void CaptureDump();
+  void CaptureDumpPixels(const SkBitmap& snapshot);
+  void CaptureDumpComplete();
 
-  void TryLeakDetection();
-
-  ::WebTestRunner::WebTestProxyBase* proxy_;
+  WebTestProxyBase* proxy_;
 
   RenderView* focused_view_;
 
-  ::WebTestRunner::WebPreferences prefs_;
+  TestPreferences prefs_;
 
   ShellTestConfiguration test_config_;