X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-web-engine.cpp;h=0e86810056befb2e52eada1cfb2d03424fbb9af8;hb=c9838bbf5eb41f8475bcef2198b338f7020b0397;hp=8f8853c369595e1739aa94b5edf8cf0ae58a20ea;hpb=8ebe42b2ca06a57a08b02a975146af34c1b9bcd6;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 8f8853c..0e86810 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 @@ -55,15 +55,16 @@ namespace Adaptor class WebEngine; class MockWebEngineContext; +class MockWebEngineCookieManager; namespace { - // Generally only one WebEngine instance exists. // If > 1, a new web engine has been created by CreateWindowSignal. -static WebEngine* gInstance = nullptr; -static int gInstanceCount = 0; -static MockWebEngineContext* gWebEngineContextInstance = nullptr; +WebEngine* gInstance = nullptr; +int gInstanceCount = 0; +MockWebEngineContext* gWebEngineContextInstance = nullptr; +MockWebEngineCookieManager* gMockWebEngineCookieManager = nullptr; bool OnGoBack(); bool OnGoForward(); @@ -342,6 +343,15 @@ private: float mockZoomFactor; }; +Dali::WebEngineContext* GetContext() +{ + if (!gWebEngineContextInstance) + { + gWebEngineContextInstance = new MockWebEngineContext(); + } + return gWebEngineContextInstance; +} + class MockWebEngineCookieManager : public Dali::WebEngineCookieManager { public: @@ -384,6 +394,15 @@ private: Dali::WebEngineCookieManager::CookieAcceptPolicy mockCookieAcceptPolicy; }; +Dali::WebEngineCookieManager* GetCookieManager() +{ + if (!gMockWebEngineCookieManager) + { + gMockWebEngineCookieManager = new MockWebEngineCookieManager(); + } + return gMockWebEngineCookieManager; +} + class MockWebEngineBackForwardListItem : public Dali::WebEngineBackForwardListItem { public: @@ -654,17 +673,17 @@ public: return true; } - bool AddResponseBody(const std::string& body, uint32_t length) override + bool AddResponseBody(const int8_t* body, uint32_t length) override { return true; } - bool AddResponse(const std::string& headers, const std::string& body, uint32_t length) override + bool AddResponse(const std::string& headers, const int8_t* body, uint32_t length) override { return true; } - bool WriteResponseChunk(const std::string& chunk, uint32_t length) override + bool WriteResponseChunk(const int8_t* chunk, uint32_t length) override { return true; } @@ -1211,13 +1230,6 @@ public: } mockWebEngineSettings = new MockWebEngineSettings(); - MockWebEngineContext* engineContext = new MockWebEngineContext(); - mockWebEngineContext = engineContext; - if ( gInstanceCount == 1 ) - { - gWebEngineContextInstance = engineContext; - } - mockWebEngineCookieManager = new MockWebEngineCookieManager(); mockWebEngineBackForwardList = new MockWebEngineBackForwardList(); } @@ -1226,13 +1238,10 @@ public: gInstanceCount--; if( !gInstanceCount ) { - gInstance = 0; - gWebEngineContextInstance = 0; + gInstance = nullptr; } delete mockWebEngineSettings; - delete mockWebEngineContext; - delete mockWebEngineCookieManager; delete mockWebEngineBackForwardList; } @@ -1241,16 +1250,6 @@ public: return *mockWebEngineSettings; } - Dali::WebEngineContext& GetContext() const - { - return *mockWebEngineContext; - } - - Dali::WebEngineCookieManager& GetCookieManager() const - { - return *mockWebEngineCookieManager; - } - Dali::WebEngineBackForwardList& GetBackForwardList() const { return *mockWebEngineBackForwardList; @@ -1455,6 +1454,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 ; @@ -1544,6 +1548,11 @@ public: mResponsePolicyDecisionCallback = callback; } + void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback) + { + mNavigationPolicyDecisionCallback = callback; + } + void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback) { mCertificateConfirmCallback = callback; @@ -1594,35 +1603,34 @@ public: Dali::Vector2 mScrollSize; Dali::Vector2 mContentSize; WebEngineBackForwardList* mockWebEngineBackForwardList; - WebEngineContext* mockWebEngineContext; - WebEngineCookieManager* mockWebEngineCookieManager; WebEngineSettings* mockWebEngineSettings; 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::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; }; @@ -1704,6 +1712,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()); @@ -1922,17 +1935,11 @@ bool OnRequestIntercepted() bool OnChangesWatch() { - DisconnectFromGlobalSignal( &OnChangesWatch ); - - if ( gInstance ) + DisconnectFromGlobalSignal(&OnChangesWatch); + if (gMockWebEngineCookieManager) { - MockWebEngineCookieManager* temp = (MockWebEngineCookieManager *)(&(gInstance->GetCookieManager())); - if ( temp ) - { - temp->mChangesWatchCallback(); - } + gMockWebEngineCookieManager->mChangesWatchCallback(); } - return false; } @@ -1988,6 +1995,16 @@ WebEngine WebEngine::New() return WebEngine( baseObject ); } +Dali::WebEngineContext* WebEngine::GetContext() +{ + return Internal::Adaptor::GetContext(); +} + +Dali::WebEngineCookieManager* WebEngine::GetCookieManager() +{ + return Internal::Adaptor::GetCookieManager(); +} + WebEngine::WebEngine( const WebEngine& WebEngine ) : BaseHandle( WebEngine ) { @@ -2021,16 +2038,6 @@ WebEngineSettings& WebEngine::GetSettings() const return Internal::Adaptor::GetImplementation( *this ).GetSettings(); } -WebEngineContext& WebEngine::GetContext() const -{ - return Internal::Adaptor::GetImplementation( *this ).GetContext(); -} - -WebEngineCookieManager& WebEngine::GetCookieManager() const -{ - return Internal::Adaptor::GetImplementation( *this ).GetCookieManager(); -} - WebEngineBackForwardList& WebEngine::GetBackForwardList() const { return Internal::Adaptor::GetImplementation( *this ).GetBackForwardList(); @@ -2056,7 +2063,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 ); @@ -2215,6 +2222,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; @@ -2424,6 +2436,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); @@ -2455,4 +2472,3 @@ void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextRecei } } // namespace Dali; -