Add an API for getting web view when request is intercepted.
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-web-engine.cpp
index 0e86810..6003749 100755 (executable)
@@ -487,7 +487,6 @@ public:
   }
 };
 
   }
 };
 
-
 class MockWebEngineCertificate : public Dali::WebEngineCertificate
 {
 public:
 class MockWebEngineCertificate : public Dali::WebEngineCertificate
 {
 public:
@@ -629,69 +628,6 @@ private:
   MockWebEngineFrame mockWebFrame;
 };
 
   MockWebEngineFrame mockWebFrame;
 };
 
-class MockWebEngineRequestInterceptor : public WebEngineRequestInterceptor
-{
-public:
-  MockWebEngineRequestInterceptor()
-  {
-  }
-
-  std::string GetUrl() const override
-  {
-    return "http://test.html";
-  }
-
-  Dali::Property::Map GetHeaders() const override
-  {
-    return mockHeadersMap;
-  }
-
-  std::string GetMethod() const override
-  {
-    return "GET";
-  }
-
-  bool Ignore() override
-  {
-    return true;
-  }
-
-  bool SetResponseStatus(int statusCode, const std::string& customedStatusText) override
-  {
-    return true;
-  }
-
-  bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) override
-  {
-    mockHeadersMap.Add(fieldName, fieldValue);
-    return true;
-  }
-
-  bool AddResponseHeaders(const Dali::Property::Map& headers) override
-  {
-    mockHeadersMap.Merge(headers);
-    return true;
-  }
-
-  bool AddResponseBody(const int8_t* body, uint32_t length) override
-  {
-    return true;
-  }
-
-  bool AddResponse(const std::string& headers, const int8_t* body, uint32_t length) override
-  {
-    return true;
-  }
-
-  bool WriteResponseChunk(const int8_t* chunk, uint32_t length) override
-  {
-    return true;
-  }
-
-private:
-  Dali::Property::Map mockHeadersMap;
-};
-
 class MockWebEngineConsoleMessage : public Dali::WebEngineConsoleMessage
 {
 public:
 class MockWebEngineConsoleMessage : public Dali::WebEngineConsoleMessage
 {
 public:
@@ -1210,6 +1146,186 @@ private:
   std::string mockDefaultTextEncodingName;
 };
 
   std::string mockDefaultTextEncodingName;
 };
 
+class MockWebEnginePlugin : public Dali::WebEnginePlugin
+{
+public:
+  MockWebEnginePlugin(){}
+  void Create(uint32_t width, uint32_t height, const std::string& locale, const std::string& timezoneId) override {}
+  void Create(uint32_t width, uint32_t height, uint32_t argc, char** argv) override {}
+  void Destroy() override {}
+  WebEngineSettings& GetSettings() const override { return *((WebEngineSettings*)&settings); }
+  WebEngineBackForwardList& GetBackForwardList() const override { return *((WebEngineBackForwardList*)&backForwardList); }
+  void LoadUrl(const std::string& url) override {}
+  std::string GetTitle() const override { return std::string(); }
+  Dali::PixelData GetFavicon() const override { return Dali::PixelData(); }
+  NativeImageSourcePtr GetNativeImageSource() override { return nullptr; }
+  std::string GetUrl() const override { return std::string(); }
+  void LoadHtmlString(const std::string& htmlString) override {}
+  bool LoadHtmlStringOverrideCurrentEntry(const std::string& html, const std::string& basicUri, const std::string& unreachableUrl) override { return false; }
+  bool LoadContents(const std::string& contents, uint32_t contentSize, const std::string& mimeType, const std::string& encoding, const std::string& baseUri) override { return false; }
+  void Reload() override {}
+  bool ReloadWithoutCache() override { return false; }
+  void StopLoading() override {}
+  void Suspend() override {}
+  void Resume() override {}
+  void SuspendNetworkLoading() override {}
+  void ResumeNetworkLoading() override {}
+  bool AddCustomHeader(const std::string& name, const std::string& value) override { return false; }
+  bool RemoveCustomHeader(const std::string& name) override { return false; }
+  uint32_t StartInspectorServer(uint32_t port) override { return 0; }
+  bool StopInspectorServer() override { return false; }
+  void ScrollBy(int32_t deltaX, int32_t deltaY) override {}
+  bool ScrollEdgeBy(int32_t deltaX, int32_t deltaY) override { return false; }
+  void SetScrollPosition(int32_t x, int32_t y) override {}
+  Dali::Vector2 GetScrollPosition() const override { return Dali::Vector2(); }
+  Dali::Vector2 GetScrollSize() const override { return Dali::Vector2(); }
+  Dali::Vector2 GetContentSize() const override { return Dali::Vector2(); }
+  bool CanGoForward() override { return false; }
+  void GoForward() override {}
+  bool CanGoBack() override { return false; }
+  void GoBack() override {}
+  void EvaluateJavaScript(const std::string& script, JavaScriptMessageHandlerCallback resultHandler) override {}
+  void AddJavaScriptMessageHandler(const std::string& exposedObjectName, JavaScriptMessageHandlerCallback handler) override {}
+  void RegisterJavaScriptAlertCallback(JavaScriptAlertCallback callback) override {}
+  void JavaScriptAlertReply() override {}
+  void RegisterJavaScriptConfirmCallback(JavaScriptConfirmCallback callback) override {}
+  void JavaScriptConfirmReply(bool confirmed) override {}
+  void RegisterJavaScriptPromptCallback(JavaScriptPromptCallback callback) override {}
+  void JavaScriptPromptReply(const std::string& result) override {}
+  std::unique_ptr<Dali::WebEngineHitTest> CreateHitTest(int32_t x, int32_t y, Dali::WebEngineHitTest::HitTestMode mode) override { return nullptr; }
+  bool CreateHitTestAsynchronously(int32_t x, int32_t y, Dali::WebEngineHitTest::HitTestMode mode, WebEngineHitTestCreatedCallback callback) override { return false; }
+  void ClearHistory() override {}
+  void ClearAllTilesResources() override {}
+  std::string GetUserAgent() const override { return std::string(); }
+  void SetUserAgent(const std::string& userAgent) override {}
+  void SetSize(uint32_t width, uint32_t height) override {}
+  void SetDocumentBackgroundColor(Dali::Vector4 color) override {}
+  void ClearTilesWhenHidden(bool cleared) override {}
+  void SetTileCoverAreaMultiplier(float multiplier) override {}
+  void EnableCursorByClient(bool enabled) override {}
+  std::string GetSelectedText() const override { return std::string(); }
+  bool SendTouchEvent(const TouchEvent& touch) override { return false; }
+  bool SendKeyEvent(const KeyEvent& event) override { return false; }
+  void EnableMouseEvents(bool enabled) override {}
+  void EnableKeyEvents(bool enabled) override {}
+  void SetFocus(bool focused) override {}
+  void SetPageZoomFactor(float zoomFactor) override {}
+  float GetPageZoomFactor() const override { return 0.0f; }
+  void SetTextZoomFactor(float zoomFactor) override {}
+  float GetTextZoomFactor() const override { return 0.0f; }
+  float GetLoadProgressPercentage() const override { return 0.0f; }
+  void SetScaleFactor(float scaleFactor, Dali::Vector2 point) override {}
+  float GetScaleFactor() const override { return 0.0f; }
+  void ActivateAccessibility(bool activated) override {}
+  Accessibility::Address GetAccessibilityAddress() override { return Accessibility::Address(); }
+  bool SetVisibility(bool visible) override { return false; }
+  bool HighlightText(const std::string& text, FindOption options, uint32_t maxMatchCount) override { return false; }
+  void AddDynamicCertificatePath(const std::string& host, const std::string& certPath) override {}
+  Dali::PixelData GetScreenshot(Dali::Rect<int32_t> viewArea, float scaleFactor) override { return Dali::PixelData(); }
+  bool GetScreenshotAsynchronously(Dali::Rect<int32_t> viewArea, float scaleFactor, ScreenshotCapturedCallback callback) override { return false; }
+  bool CheckVideoPlayingAsynchronously(VideoPlayingCallback callback) override { return false; }
+  void RegisterGeolocationPermissionCallback(GeolocationPermissionCallback callback) override {}
+  void UpdateDisplayArea(Dali::Rect<int32_t> displayArea) override {}
+  void EnableVideoHole(bool enabled) override {}
+  bool SendHoverEvent(const HoverEvent& event) override { return false; }
+  bool SendWheelEvent(const WheelEvent& event) override { return false; }
+  WebEngineFrameRenderedSignalType& FrameRenderedSignal() override { return frameRenderedSignal; }
+  void RegisterPageLoadStartedCallback(WebEnginePageLoadCallback callback) override {}
+  void RegisterPageLoadInProgressCallback(WebEnginePageLoadCallback callback) override {}
+  void RegisterPageLoadFinishedCallback(WebEnginePageLoadCallback callback) override {}
+  void RegisterPageLoadErrorCallback(WebEnginePageLoadErrorCallback callback) override {}
+  void RegisterScrollEdgeReachedCallback(WebEngineScrollEdgeReachedCallback callback) override {}
+  void RegisterUrlChangedCallback(WebEngineUrlChangedCallback callback) override {}
+  void RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback) override {}
+  void RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback) override {}
+  void RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback) override {}
+  void RegisterNavigationPolicyDecidedCallback(WebEngineNavigationPolicyDecidedCallback callback) override {}
+  void RegisterCertificateConfirmedCallback(WebEngineCertificateCallback callback) override {}
+  void RegisterSslCertificateChangedCallback(WebEngineCertificateCallback callback) override {}
+  void RegisterHttpAuthHandlerCallback(WebEngineHttpAuthHandlerCallback callback) override {}
+  void RegisterContextMenuShownCallback(WebEngineContextMenuShownCallback callback) override {}
+  void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) override {}
+  void GetPlainTextAsynchronously(PlainTextReceivedCallback callback) override {}
+private:
+  MockWebEngineSettings settings;
+  MockWebEngineBackForwardList backForwardList;
+  WebEngineFrameRenderedSignalType frameRenderedSignal;
+};
+
+Dali::WebEnginePlugin* GetWebEnginePlugin()
+{
+  static MockWebEnginePlugin plugin;
+  return &plugin;
+}
+
+class MockWebEngineRequestInterceptor : public WebEngineRequestInterceptor
+{
+public:
+  MockWebEngineRequestInterceptor()
+  {
+  }
+
+  Dali::WebEnginePlugin* GetWebEngine() const
+  {
+    return GetWebEnginePlugin();
+  }
+
+  std::string GetUrl() const override
+  {
+    return "http://test.html";
+  }
+
+  Dali::Property::Map GetHeaders() const override
+  {
+    return mockHeadersMap;
+  }
+
+  std::string GetMethod() const override
+  {
+    return "GET";
+  }
+
+  bool Ignore() override
+  {
+    return true;
+  }
+
+  bool SetResponseStatus(int statusCode, const std::string& customedStatusText) override
+  {
+    return true;
+  }
+
+  bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) override
+  {
+    mockHeadersMap.Add(fieldName, fieldValue);
+    return true;
+  }
+
+  bool AddResponseHeaders(const Dali::Property::Map& headers) override
+  {
+    mockHeadersMap.Merge(headers);
+    return true;
+  }
+
+  bool AddResponseBody(const int8_t* body, uint32_t length) override
+  {
+    return true;
+  }
+
+  bool AddResponse(const std::string& headers, const int8_t* body, uint32_t length) override
+  {
+    return true;
+  }
+
+  bool WriteResponseChunk(const int8_t* chunk, uint32_t length) override
+  {
+    return true;
+  }
+
+private:
+  Dali::Property::Map mockHeadersMap;
+};
+
 class WebEngine: public Dali::BaseObject
 {
 public:
 class WebEngine: public Dali::BaseObject
 {
 public:
@@ -2063,6 +2179,11 @@ std::string WebEngine::GetUrl() const
   return Internal::Adaptor::GetImplementation( *this ).GetUrl();
 }
 
   return Internal::Adaptor::GetImplementation( *this ).GetUrl();
 }
 
+Dali::WebEnginePlugin* WebEngine::GetPlugin() const
+{
+  return Internal::Adaptor::GetWebEnginePlugin();
+}
+
 NativeImageSourcePtr WebEngine::GetNativeImageSource()
 {
   Any source;
 NativeImageSourcePtr WebEngine::GetNativeImageSource()
 {
   Any source;