+
+ uint32_t GetItemCount() const override
+ {
+ return 1;
+ }
+
+ std::unique_ptr<Dali::WebEngineContextMenuItem> GetItemAt(uint32_t index) const override
+ {
+ std::unique_ptr<Dali::WebEngineContextMenuItem> webitem(new MockWebEngineContextMenuItem());
+ return webitem;
+ }
+
+ std::vector<std::unique_ptr<WebEngineContextMenuItem>> GetItemList() const override
+ {
+ std::vector<std::unique_ptr<WebEngineContextMenuItem>> result;
+ std::unique_ptr<Dali::WebEngineContextMenuItem> webitem(new MockWebEngineContextMenuItem());
+ result.push_back(std::move(webitem));
+ return result;
+ }
+
+ bool RemoveItem(WebEngineContextMenuItem& item) override
+ {
+ return true;
+ }
+
+ bool AppendItemAsAction(WebEngineContextMenuItem::ItemTag tag, const std::string& title, bool enabled) override
+ {
+ return true;
+ }
+
+ bool AppendItem(WebEngineContextMenuItem::ItemTag tag, const std::string& title, const std::string& iconFile, bool enabled) override
+ {
+ return true;
+ }
+
+ bool SelectItem(WebEngineContextMenuItem& item) override
+ {
+ return true;
+ }
+
+ bool Hide() override
+ {
+ return true;
+ }
+};
+
+class MockWebEngineHitTest : public Dali::WebEngineHitTest
+{
+public:
+ MockWebEngineHitTest()
+ {
+ }
+
+ ResultContext GetResultContext() const override
+ {
+ return ResultContext::DOCUMENT;
+ }
+
+ std::string GetLinkUri() const override
+ {
+ return "http://test.html";
+ }
+
+ std::string GetLinkTitle() const override
+ {
+ return "test";
+ }
+
+ std::string GetLinkLabel() const override
+ {
+ return "label";
+ }
+
+ std::string GetImageUri() const override
+ {
+ return "http://test.jpg";
+ }
+
+ std::string GetMediaUri() const override
+ {
+ return "http://test.mp4";
+ }
+
+ std::string GetTagName() const override
+ {
+ return "img";
+ }
+
+ std::string GetNodeValue() const override
+ {
+ return "test";
+ }
+
+ Dali::Property::Map GetAttributes() const override
+ {
+ return mockAttributesMap;
+ }
+
+ std::string GetImageFileNameExtension() const override
+ {
+ return "jpg";
+ }
+
+ Dali::PixelData GetImageBuffer() override
+ {
+ uint8_t* imageData = new uint8_t[16];
+ memset(imageData, 0xff, 16);
+ return Dali::PixelData::New(imageData, 16, 2, 2, Dali::Pixel::Format::RGBA8888, Dali::PixelData::ReleaseFunction::DELETE_ARRAY);
+ }
+
+private:
+ mutable Dali::Property::Map mockAttributesMap;
+};
+
+class MockWebEngineSecurityOrigin : public Dali::WebEngineSecurityOrigin
+{
+public:
+ MockWebEngineSecurityOrigin()
+ : mockUrl("https://test.html"),
+ mockPotocol("https")
+ {
+ }
+
+ std::string GetHost() const
+ {
+ return mockUrl;
+ }
+
+ std::string GetProtocol() const
+ {
+ return mockPotocol;
+ }
+
+private:
+ std::string mockUrl;
+ std::string mockPotocol;
+};
+
+class MockWebEngineSettings : public WebEngineSettings
+{
+public:
+ MockWebEngineSettings()
+ : mockDefaultFontSize(16),
+ mockJavaScriptEnabled(true),
+ mockAutoFittingEnabled(true),
+ mockPluginsEnabled(true),
+ mockPrivateBrowsingEnabled(true),
+ mockLinkMagnifierEnabled(true),
+ mockKeypadWithoutUserActionUsed(true),
+ mockAutofillPasswordFormEnabled(true),
+ mockFormCandidateDataEnabled(true),
+ mockTextSelectionEnabled(true),
+ mockTextAutosizingEnable(true),
+ mockArrowScrollEnable(true),
+ mockClipboardEnabled(true),
+ mockImePanelEnabled(true),
+ mockImageLoadedAutomatically(true),
+ mockDefaultTextEncodingName()
+ {
+ }
+
+ uint32_t GetDefaultFontSize() const override
+ {
+ return mockDefaultFontSize;
+ }
+
+ void SetDefaultFontSize(uint32_t size) override
+ {
+ mockDefaultFontSize = size;
+ }
+
+ bool IsJavaScriptEnabled() const override
+ {
+ return mockJavaScriptEnabled;
+ }
+
+ void EnableJavaScript(bool enabled) override
+ {
+ mockJavaScriptEnabled = enabled;
+ }
+
+ bool IsAutoFittingEnabled() const override
+ {
+ return mockAutoFittingEnabled;
+ }
+
+ void EnableAutoFitting(bool enabled) override
+ {
+ mockAutoFittingEnabled = enabled;
+ }
+
+ bool ArePluginsEnabled() const override
+ {
+ return mockPluginsEnabled;
+ }
+
+ void EnablePlugins(bool enabled) override
+ {
+ mockPluginsEnabled = enabled;
+ }
+
+ bool IsPrivateBrowsingEnabled() const override
+ {
+ return mockPrivateBrowsingEnabled;
+ }
+
+ void EnablePrivateBrowsing(bool enabled) override
+ {
+ mockPrivateBrowsingEnabled = enabled;
+ }
+
+ bool IsLinkMagnifierEnabled() const override
+ {
+ return mockLinkMagnifierEnabled;
+ }
+
+ void EnableLinkMagnifier(bool enabled) override
+ {
+ mockLinkMagnifierEnabled = enabled;
+ }
+
+ bool IsKeypadWithoutUserActionUsed() const override
+ {
+ return mockKeypadWithoutUserActionUsed;
+ }
+
+ void UseKeypadWithoutUserAction(bool used) override
+ {
+ mockKeypadWithoutUserActionUsed = used;
+ }
+
+ bool IsAutofillPasswordFormEnabled() const override
+ {
+ return mockAutofillPasswordFormEnabled;
+ }
+
+ void EnableAutofillPasswordForm(bool enabled) override
+ {
+ mockAutofillPasswordFormEnabled = enabled;
+ }
+
+ bool IsFormCandidateDataEnabled() const override
+ {
+ return mockFormCandidateDataEnabled;
+ }
+
+ void EnableFormCandidateData(bool enabled) override
+ {
+ mockFormCandidateDataEnabled = enabled;
+ }
+
+ bool IsTextSelectionEnabled() const override
+ {
+ return mockTextSelectionEnabled;
+ }
+
+ void EnableTextSelection(bool enabled) override
+ {
+ mockTextSelectionEnabled = enabled;
+ }
+
+ bool IsTextAutosizingEnabled() const override
+ {
+ return mockTextAutosizingEnable;
+ }
+
+ void EnableTextAutosizing(bool enabled) override
+ {
+ mockTextAutosizingEnable = enabled;
+ }
+
+ bool IsArrowScrollEnabled() const override
+ {
+ return mockArrowScrollEnable;
+ }
+
+ void EnableArrowScroll(bool enabled) override
+ {
+ mockArrowScrollEnable = enabled;
+ }
+
+ bool IsClipboardEnabled() const override
+ {
+ return mockClipboardEnabled;
+ }
+
+ void EnableClipboard(bool enabled) override
+ {
+ mockClipboardEnabled = enabled;
+ }
+
+ bool IsImePanelEnabled() const override
+ {
+ return mockImePanelEnabled;
+ }
+
+ void EnableImePanel(bool enabled) override
+ {
+ mockImePanelEnabled = enabled;
+ }
+
+ bool AreImagesLoadedAutomatically() const override
+ {
+ return mockImageLoadedAutomatically;
+ }
+
+ void AllowImagesLoadAutomatically(bool automatic) override
+ {
+ mockImageLoadedAutomatically = automatic;
+ }
+
+ std::string GetDefaultTextEncodingName() const override
+ {
+ return mockDefaultTextEncodingName;
+ }
+
+ void SetDefaultTextEncodingName(const std::string& defaultTextEncodingName) override
+ {
+ mockDefaultTextEncodingName = defaultTextEncodingName;
+ }
+
+ void AllowMixedContents(bool allowed) override
+ {
+ }
+
+ void EnableSpatialNavigation(bool enabled) override
+ {
+ }
+
+ void EnableWebSecurity(bool enabled) override
+ {
+ }
+
+ void EnableCacheBuilder(bool enabled) override
+ {
+ }
+
+ void UseScrollbarThumbFocusNotifications(bool used) override
+ {
+ }
+
+ void EnableDoNotTrack(bool enabled) override
+ {
+ }
+
+ void AllowFileAccessFromExternalUrl(bool allowed) override
+ {
+ }
+
+ void AllowScriptsOpenWindows(bool allowed) override
+ {
+ }
+
+ bool SetViewportMetaTag(bool enable) override
+ {
+ return true;
+ }
+
+ bool SetForceZoom(bool enable) override
+ {
+ return true;
+ }
+
+ bool IsZoomForced() const override
+ {
+ return true;
+ }
+
+ bool SetTextZoomEnabled(bool enable) override
+ {
+ return true;
+ }
+
+ bool IsTextZoomEnabled() const override
+ {
+ return true;
+ }
+
+ void SetExtraFeature(const std::string& feature, bool enable) override
+ {
+ }
+
+ bool IsExtraFeatureEnabled(const std::string& feature) const override
+ {
+ return true;
+ }
+
+private:
+ int mockDefaultFontSize;
+ bool mockJavaScriptEnabled;
+ bool mockAutoFittingEnabled;
+ bool mockPluginsEnabled;
+ bool mockPrivateBrowsingEnabled;
+ bool mockLinkMagnifierEnabled;
+ bool mockKeypadWithoutUserActionUsed;
+ bool mockAutofillPasswordFormEnabled;
+ bool mockFormCandidateDataEnabled;
+ bool mockTextSelectionEnabled;
+ bool mockTextAutosizingEnable;
+ bool mockArrowScrollEnable;
+ bool mockClipboardEnabled;
+ bool mockImePanelEnabled;
+ bool mockImageLoadedAutomatically;
+ 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 int8_t* 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