X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-web-engine.cpp;h=075cf2a3d5a226797f5bcc2816395bd92a62fc67;hp=c1d8700d0f7bf5dd5954f4cf6a2cde3284ad437c;hb=a0389a25a5ce0e8b539c75a6f37b75d3286dacef;hpb=3a913b75db9ec718f0e5a233e2744c72c197489b diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp index c1d8700..075cf2a 100755 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,24 +17,24 @@ #include "toolkit-timer.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -83,6 +83,7 @@ bool OnStorageUsageAcquired(); bool OnFormPasswordAcquired(); bool OnDownloadStarted(); bool OnMimeOverridden(); +bool OnRequestIntercepted(); bool OnChangesWatch(); bool OnPlainTextReceived(); @@ -155,7 +156,7 @@ public: { } - bool GetWebDatabaseOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) + bool GetWebDatabaseOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) override { if (callback) { @@ -165,12 +166,12 @@ public: return true; } - bool DeleteWebDatabase(Dali::WebEngineSecurityOrigin& origin) + bool DeleteWebDatabase(Dali::WebEngineSecurityOrigin& origin) override { return true; } - bool GetWebStorageOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) + bool GetWebStorageOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) override { if (callback) { @@ -180,7 +181,7 @@ public: return true; } - bool GetWebStorageUsageForOrigin(Dali::WebEngineSecurityOrigin& origin, Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback callback) + bool GetWebStorageUsageForOrigin(Dali::WebEngineSecurityOrigin& origin, Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback callback) override { if (callback) { @@ -194,7 +195,7 @@ public: { } - bool DeleteWebStorage(Dali::WebEngineSecurityOrigin& origin) + bool DeleteWebStorage(Dali::WebEngineSecurityOrigin& origin) override { return true; } @@ -207,12 +208,12 @@ public: { } - bool DeleteApplicationCache(Dali::WebEngineSecurityOrigin& origin) + bool DeleteApplicationCache(Dali::WebEngineSecurityOrigin& origin) override { return true; } - void GetFormPasswordList(Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback callback) + void GetFormPasswordList(Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback callback) override { if (callback) { @@ -221,7 +222,7 @@ public: } } - void RegisterDownloadStartedCallback(Dali::WebEngineContext::WebEngineDownloadStartedCallback callback) + void RegisterDownloadStartedCallback(Dali::WebEngineContext::WebEngineDownloadStartedCallback callback) override { if (callback) { @@ -230,7 +231,7 @@ public: } } - void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback) + void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback) override { if (callback) { @@ -239,6 +240,15 @@ public: } } + void RegisterRequestInterceptedCallback(Dali::WebEngineContext::WebEngineRequestInterceptedCallback callback) override + { + if (callback) + { + ConnectToGlobalSignal(&OnRequestIntercepted); + mRequestInterceptedCallback = callback; + } + } + void EnableCache( bool cacheEnabled ) override { mockCacheEnabled = cacheEnabled; @@ -317,10 +327,11 @@ public: public: Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback mSecurityOriginAcquiredCallback; - Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback mStorageUsageAcquiredCallback; - Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback mFormPasswordAcquiredCallback; - Dali::WebEngineContext::WebEngineDownloadStartedCallback mDownloadStartedCallback; - Dali::WebEngineContext::WebEngineMimeOverriddenCallback mMimeOverriddenCallback; + Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback mStorageUsageAcquiredCallback; + Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback mFormPasswordAcquiredCallback; + Dali::WebEngineContext::WebEngineDownloadStartedCallback mDownloadStartedCallback; + Dali::WebEngineContext::WebEngineMimeOverriddenCallback mMimeOverriddenCallback; + Dali::WebEngineContext::WebEngineRequestInterceptedCallback mRequestInterceptedCallback; private: Dali::WebEngineContext::CacheModel mockModel; @@ -611,25 +622,55 @@ public: 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 + bool SetResponseStatus(int statusCode, const std::string& customedStatusText) override { return true; } - bool AddResponseHeader(const std::string &fieldName, const std::string &fieldValue) override + bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) override { + mockHeadersMap.Add(fieldName, fieldValue); return true; } - bool AddResponseBody(const std::string &body, uint32_t length) override + 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 @@ -835,7 +876,7 @@ public: return "test"; } - Dali::Property::Map& GetAttributes() const override + Dali::Property::Map GetAttributes() const override { return mockAttributesMap; } @@ -1414,6 +1455,11 @@ public: return mScaleFactor; } + Dali::Accessibility::Address GetAccessibilityAddress() + { + return {":9.99", "root"}; + } + Dali::PixelData GetScreenshot(Dali::Rect viewArea, float scaleFactor) { uint32_t bufferSize = viewArea.width * viewArea.height * 4 ; @@ -1493,11 +1539,6 @@ public: mFormRepostDecidedCallback = callback; } - void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback) - { - mRequestInterceptorCallback = callback; - } - void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback) { mConsoleMessageCallback = callback; @@ -1508,6 +1549,11 @@ public: mResponsePolicyDecisionCallback = callback; } + void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback) + { + mNavigationPolicyDecisionCallback = callback; + } + void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback) { mCertificateConfirmCallback = callback; @@ -1564,30 +1610,30 @@ public: std::vector mResultCallbacks; - Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadStartedCallback; - Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadInProgressCallback; - Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadFinishedCallback; - Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback mPageLoadErrorCallback; - Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback mScrollEdgeReachedCallback; - Dali::WebEnginePlugin::WebEngineUrlChangedCallback mUrlChangedCallback; - Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback mFormRepostDecidedCallback; - Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback; - Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback mRequestInterceptorCallback; - Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback mConsoleMessageCallback; - Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback mResponsePolicyDecisionCallback; - Dali::WebEnginePlugin::WebEngineCertificateCallback mCertificateConfirmCallback; - Dali::WebEnginePlugin::WebEngineCertificateCallback mSslCertificateChangedCallback; - Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback mHttpAuthHandlerCallback; - Dali::WebEnginePlugin::WebEngineContextMenuShownCallback mContextMenuShownCallback; - Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback mContextMenuHiddenCallback; - Dali::WebEnginePlugin::JavaScriptAlertCallback mJavaScriptAlertCallback; - Dali::WebEnginePlugin::JavaScriptConfirmCallback mJavaScriptConfirmCallback; - Dali::WebEnginePlugin::JavaScriptPromptCallback mJavaScriptPromptCallback; - Dali::WebEnginePlugin::ScreenshotCapturedCallback mScreenshotCapturedCallback; - Dali::WebEnginePlugin::VideoPlayingCallback mVideoPlayingCallback; - Dali::WebEnginePlugin::GeolocationPermissionCallback mGeolocationPermissionCallback; - Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback mHitTestCreatedCallback; - Dali::WebEnginePlugin::PlainTextReceivedCallback mPlainTextReceivedCallback; + Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadStartedCallback; + Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadInProgressCallback; + Dali::WebEnginePlugin::WebEnginePageLoadCallback mPageLoadFinishedCallback; + Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback mPageLoadErrorCallback; + Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback mScrollEdgeReachedCallback; + Dali::WebEnginePlugin::WebEngineUrlChangedCallback mUrlChangedCallback; + Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback mFormRepostDecidedCallback; + Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback; + Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback mConsoleMessageCallback; + Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback mResponsePolicyDecisionCallback; + Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback mNavigationPolicyDecisionCallback; + Dali::WebEnginePlugin::WebEngineCertificateCallback mCertificateConfirmCallback; + Dali::WebEnginePlugin::WebEngineCertificateCallback mSslCertificateChangedCallback; + Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback mHttpAuthHandlerCallback; + Dali::WebEnginePlugin::WebEngineContextMenuShownCallback mContextMenuShownCallback; + Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback mContextMenuHiddenCallback; + Dali::WebEnginePlugin::JavaScriptAlertCallback mJavaScriptAlertCallback; + Dali::WebEnginePlugin::JavaScriptConfirmCallback mJavaScriptConfirmCallback; + Dali::WebEnginePlugin::JavaScriptPromptCallback mJavaScriptPromptCallback; + Dali::WebEnginePlugin::ScreenshotCapturedCallback mScreenshotCapturedCallback; + Dali::WebEnginePlugin::VideoPlayingCallback mVideoPlayingCallback; + Dali::WebEnginePlugin::GeolocationPermissionCallback mGeolocationPermissionCallback; + Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback mHitTestCreatedCallback; + Dali::WebEnginePlugin::PlainTextReceivedCallback mPlainTextReceivedCallback; }; @@ -1659,11 +1705,6 @@ bool OnLoadUrl() { gInstance->mFrameRenderedCallback(); } - if (gInstance->mRequestInterceptorCallback) - { - std::unique_ptr interceptor(new MockWebEngineRequestInterceptor()); - gInstance->mRequestInterceptorCallback(std::move(interceptor)); - } if (gInstance->mConsoleMessageCallback) { std::unique_ptr message(new MockWebEngineConsoleMessage()); @@ -1674,6 +1715,11 @@ bool OnLoadUrl() std::unique_ptr policyDecision(new MockWebEnginePolicyDecision()); gInstance->mResponsePolicyDecisionCallback(std::move(policyDecision)); } + if (gInstance->mNavigationPolicyDecisionCallback) + { + std::unique_ptr policyDecision(new MockWebEnginePolicyDecision()); + gInstance->mNavigationPolicyDecisionCallback(std::move(policyDecision)); + } if (gInstance->mCertificateConfirmCallback) { std::unique_ptr certificate(new MockWebEngineCertificate()); @@ -1879,6 +1925,17 @@ bool OnMimeOverridden() return false; } +bool OnRequestIntercepted() +{ + DisconnectFromGlobalSignal(&OnRequestIntercepted); + if (gWebEngineContextInstance) + { + Dali::WebEngineRequestInterceptorPtr interceptor = new MockWebEngineRequestInterceptor(); + gWebEngineContextInstance->mRequestInterceptedCallback(interceptor); + } + return false; +} + bool OnChangesWatch() { DisconnectFromGlobalSignal( &OnChangesWatch ); @@ -2015,7 +2072,7 @@ std::string WebEngine::GetUrl() const return Internal::Adaptor::GetImplementation( *this ).GetUrl(); } -NativeImageInterfacePtr WebEngine::GetNativeImageSource() +NativeImageSourcePtr WebEngine::GetNativeImageSource() { Any source; Dali::NativeImageSourcePtr sourcePtr = Dali::NativeImageSource::New( source ); @@ -2174,6 +2231,11 @@ void WebEngine::ActivateAccessibility(bool activated) { } +Accessibility::Address WebEngine::GetAccessibilityAddress() +{ + return Internal::Adaptor::GetImplementation(*this).GetAccessibilityAddress(); +} + bool WebEngine::HighlightText(const std::string& text, Dali::WebEnginePlugin::FindOption options, uint32_t maxMatchCount) { return true; @@ -2373,11 +2435,6 @@ void WebEngine::RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngi Internal::Adaptor::GetImplementation( *this ).RegisterFormRepostDecidedCallback(callback); } -void WebEngine::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback) -{ - Internal::Adaptor::GetImplementation( *this ).RegisterRequestInterceptorCallback(callback); -} - void WebEngine::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback) { Internal::Adaptor::GetImplementation( *this ).RegisterConsoleMessageReceivedCallback(callback); @@ -2388,6 +2445,11 @@ void WebEngine::RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::Web Internal::Adaptor::GetImplementation( *this ).RegisterResponsePolicyDecidedCallback(callback); } +void WebEngine::RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback) +{ + Internal::Adaptor::GetImplementation(*this).RegisterNavigationPolicyDecidedCallback(callback); +} + void WebEngine::RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback) { Internal::Adaptor::GetImplementation( *this ).RegisterCertificateConfirmedCallback(callback); @@ -2419,4 +2481,3 @@ void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextRecei } } // namespace Dali; -