X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-WebView.cpp;h=442d75d32513c5748e162a305be44ddc1a9eeb99;hp=034e377b3deedcded9e36d65d1a413e040ea3ea5;hb=a0389a25a5ce0e8b539c75a6f37b75d3286dacef;hpb=f15407e1710844219f3e418e83e689b5ff7341c2 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp old mode 100755 new mode 100644 index 034e377..442d75d --- a/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-WebView.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. @@ -15,81 +15,99 @@ * */ -#include #include +#include #include #include "dali-toolkit-test-utils/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 -#include -#include -#include using namespace Dali; using namespace Toolkit; namespace { - -const char* const TEST_URL1( "http://www.somewhere.valid1.com" ); -const char* const TEST_URL2( "http://www.somewhere.valid2.com" ); - -static int gPageLoadStartedCallbackCalled = 0; -static int gPageLoadInProgressCallbackCalled = 0; -static int gPageLoadFinishedCallbackCalled = 0; -static int gPageLoadErrorCallbackCalled = 0; -static std::shared_ptr gPageLoadErrorInstance = nullptr; -static int gScrollEdgeReachedCallbackCalled = 0; -static int gUrlChangedCallbackCalled = 0; -static int gEvaluateJavaScriptCallbackCalled = 0; -static int gJavaScriptAlertCallbackCalled = 0; -static int gJavaScriptConfirmCallbackCalled = 0; -static int gJavaScriptPromptCallbackCalled = 0; -static int gScreenshotCapturedCallbackCalled = 0; -static int gVideoPlayingCallbackCalled = 0; -static int gGeolocationPermissionCallbackCalled = 0; -static bool gTouched = false; -static bool gHovered = false; -static bool gWheelEventHandled = false; -static int gFormRepostDecisionCallbackCalled = 0; -static std::shared_ptr gFormRepostDecisionInstance = nullptr; -static int gFrameRenderedCallbackCalled = 0; -static int gRequestInterceptorCallbackCalled = 0; -static std::shared_ptr gRequestInterceptorInstance = nullptr; -static int gConsoleMessageCallbackCalled = 0; -static std::shared_ptr gConsoleMessageInstance = nullptr; -static int gPolicyDecisionCallbackCalled = 0; -static std::shared_ptr gPolicyDecisionInstance = nullptr; -static int gCertificateConfirmCallbackCalled = 0; -static std::shared_ptr gCertificateConfirmInstance = nullptr; -static int gSslCertificateChangedCallbackCalled = 0; -static std::shared_ptr gSslCertificateInstance = nullptr; -static int gHttpAuthHandlerCallbackCalled = 0; -static std::shared_ptr gHttpAuthInstance = nullptr; +const char* const TEST_URL1("http://www.somewhere.valid1.com"); +const char* const TEST_URL2("http://www.somewhere.valid2.com"); + +static int gPageLoadStartedCallbackCalled = 0; +static int gPageLoadInProgressCallbackCalled = 0; +static int gPageLoadFinishedCallbackCalled = 0; +static int gPageLoadErrorCallbackCalled = 0; +static std::unique_ptr gPageLoadErrorInstance = nullptr; +static int gScrollEdgeReachedCallbackCalled = 0; +static int gUrlChangedCallbackCalled = 0; +static int gEvaluateJavaScriptCallbackCalled = 0; +static int gJavaScriptAlertCallbackCalled = 0; +static int gJavaScriptConfirmCallbackCalled = 0; +static int gJavaScriptPromptCallbackCalled = 0; +static int gScreenshotCapturedCallbackCalled = 0; +static int gVideoPlayingCallbackCalled = 0; +static int gGeolocationPermissionCallbackCalled = 0; +static bool gTouched = false; +static bool gHovered = false; +static bool gWheelEventHandled = false; +static int gFormRepostDecidedCallbackCalled = 0; +static std::unique_ptr gFormRepostDecidedInstance = nullptr; +static int gFrameRenderedCallbackCalled = 0; +static int gConsoleMessageCallbackCalled = 0; +static std::unique_ptr gConsoleMessageInstance = nullptr; +static int gResponsePolicyDecidedCallbackCalled = 0; +static int gNavigationPolicyDecidedCallbackCalled = 0; +static std::unique_ptr gResponsePolicyDecisionInstance = nullptr; +static int gCertificateConfirmCallbackCalled = 0; +static std::unique_ptr gCertificateConfirmInstance = nullptr; +static int gSslCertificateChangedCallbackCalled = 0; +static std::unique_ptr gSslCertificateInstance = nullptr; +static int gHttpAuthHandlerCallbackCalled = 0; +static std::unique_ptr gHttpAuthInstance = nullptr; +static int gSecurityOriginsAcquiredCallbackCalled = 0; +static int gStorageUsageAcquiredCallbackCalled = 0; +static int gFormPasswordsAcquiredCallbackCalled = 0; +static int gDownloadStartedCallbackCalled = 0; +static int gMimeOverriddenCallbackCalled = 0; +static int gRequestInterceptedCallbackCalled = 0; +static Dali::WebEngineRequestInterceptorPtr gRequestInterceptorInstance = nullptr; +static std::vector> gSecurityOriginList; +static std::vector> gPasswordDataList; +static int gContextMenuShownCallbackCalled = 0; +static std::unique_ptr gContextMenuShownInstance = nullptr; +static int gContextMenuHiddenCallbackCalled = 0; +static std::unique_ptr gContextMenuHiddenInstance = nullptr; +static int gHitTestCreatedCallbackCalled = 0; +static int gCookieManagerChangsWatchCallbackCalled = 0; +static int gPlainTextReceivedCallbackCalled = 0; struct CallbackFunctor { CallbackFunctor(bool* callbackFlag) - : mCallbackFlag( callbackFlag ) + : mCallbackFlag(callbackFlag) { } @@ -100,61 +118,78 @@ struct CallbackFunctor bool* mCallbackFlag; }; -static void OnPageLoadStarted( WebView view, const std::string& url ) +static void OnPageLoadStarted(const std::string& url) { gPageLoadStartedCallbackCalled++; } -static void OnPageLoadInProgress( WebView view, const std::string& url ) +static void OnPageLoadInProgress(const std::string& url) { gPageLoadInProgressCallbackCalled++; } -static void OnPageLoadFinished( WebView view, const std::string& url ) +static void OnPageLoadFinished(const std::string& url) { gPageLoadFinishedCallbackCalled++; } -static void OnScrollEdgeReached( WebView view, Dali::WebEnginePlugin::ScrollEdge edge ) +static void OnScrollEdgeReached(Dali::WebEnginePlugin::ScrollEdge edge) { gScrollEdgeReachedCallbackCalled++; } -static void OnPolicyDecisionRequest(WebView view, std::shared_ptr decision) +static void OnResponsePolicyDecided(std::unique_ptr decision) +{ + gResponsePolicyDecidedCallbackCalled++; + gResponsePolicyDecisionInstance = std::move(decision); +} + +static void OnNavigationPolicyDecided(std::unique_ptr decision) { - gPolicyDecisionCallbackCalled++; - gPolicyDecisionInstance = std::move(decision); + gNavigationPolicyDecidedCallbackCalled++; } -static void OnUrlChanged( WebView view, const std::string& url ) +static void OnUrlChanged(const std::string& url) { gUrlChangedCallbackCalled++; } -static void OnPageLoadError(WebView view, std::shared_ptr error) +static bool OnHitTestCreated(std::unique_ptr test) +{ + gHitTestCreatedCallbackCalled++; + return true; +} + +static bool OnPlainTextReceived(const std::string& plainText) +{ + gPlainTextReceivedCallbackCalled++; + return true; +} + +static void OnPageLoadError(std::unique_ptr error) { gPageLoadErrorCallbackCalled++; gPageLoadErrorInstance = std::move(error); } -static void OnEvaluateJavaScript( const std::string& result ) +static void OnEvaluateJavaScript(const std::string& result) { gEvaluateJavaScriptCallbackCalled++; } -static bool OnJavaScriptAlert( const std::string& result ) +static bool OnJavaScriptAlert(const std::string& result) { gJavaScriptAlertCallbackCalled++; return true; } -static bool OnJavaScriptConfirm( const std::string& result ) +static bool OnJavaScriptConfirm(const std::string& result) { gJavaScriptConfirmCallbackCalled++; return true; } -static bool OnJavaScriptPrompt( const std::string& meesage1, const std::string& message2 ) +static bool OnJavaScriptPrompt(const std::string& meesage1, const std::string& message2) { gJavaScriptPromptCallbackCalled++; return true; @@ -162,7 +197,7 @@ static bool OnJavaScriptPrompt( const std::string& meesage1, const std::string& static void OnScreenshotCaptured(Dali::Toolkit::ImageView) { - gScreenshotCapturedCallbackCalled++; + gScreenshotCapturedCallbackCalled++; } static void OnVideoPlaying(bool isPlaying) @@ -176,65 +211,113 @@ static bool OnGeolocationPermission(const std::string&, const std::string&) return true; } -static bool OnTouched( Actor actor, const Dali::TouchEvent& touch ) +static bool OnTouched(Actor actor, const Dali::TouchEvent& touch) { gTouched = true; return true; } -static bool OnHovered( Actor actor, const Dali::HoverEvent& hover ) +static void OnChangesWatch() +{ + gCookieManagerChangsWatchCallbackCalled++; +} + +static bool OnHovered(Actor actor, const Dali::HoverEvent& hover) { gHovered = true; return true; } -static bool OnWheelEvent( Actor actor, const Dali::WheelEvent& wheel ) +static bool OnWheelEvent(Actor actor, const Dali::WheelEvent& wheel) { gWheelEventHandled = true; return true; } -static void OnFormRepostDecision(WebView, std::shared_ptr decision) +static void OnFormRepostDecided(std::unique_ptr decision) { - gFormRepostDecisionCallbackCalled++; - gFormRepostDecisionInstance = std::move(decision); + gFormRepostDecidedCallbackCalled++; + gFormRepostDecidedInstance = std::move(decision); } -static void OnFrameRendered(WebView) +static void OnFrameRendered() { gFrameRenderedCallbackCalled++; } -static void OnRequestInterceptor(WebView view, std::shared_ptr interceptor) -{ - gRequestInterceptorCallbackCalled++; - gRequestInterceptorInstance = std::move(interceptor); -} - -static void OnConsoleMessage(WebView view, std::shared_ptr message) +static void OnConsoleMessage(std::unique_ptr message) { gConsoleMessageCallbackCalled++; gConsoleMessageInstance = std::move(message); } -static void OnCertificateConfirm(WebView view, std::shared_ptr certificate ) +static void OnCertificateConfirm(std::unique_ptr certificate) { gCertificateConfirmCallbackCalled++; gCertificateConfirmInstance = std::move(certificate); } -static void OnSslCertificateChanged(WebView view, std::shared_ptr certificate ) +static void OnSslCertificateChanged(std::unique_ptr certificate) { gSslCertificateChangedCallbackCalled++; gSslCertificateInstance = std::move(certificate); } -static void OnHttpAuthHandler( WebView view, std::shared_ptr hander ) +static void OnHttpAuthHandler(std::unique_ptr hander) { gHttpAuthHandlerCallbackCalled++; gHttpAuthInstance = std::move(hander); } +static void OnSecurityOriginsAcquired(std::vector>& origins) +{ + gSecurityOriginsAcquiredCallbackCalled++; + gSecurityOriginList.clear(); + gSecurityOriginList.swap(origins); +} + +static void OnStorageUsageAcquired(uint64_t usage) +{ + gStorageUsageAcquiredCallbackCalled++; +} + +static void OnFormPasswordsAcquired(std::vector>& passwords) +{ + gFormPasswordsAcquiredCallbackCalled++; + gPasswordDataList.clear(); + gPasswordDataList.swap(passwords); +} + +static void OnDownloadStarted(const std::string& url) +{ + gDownloadStartedCallbackCalled++; +} + +static bool OnMimeOverridden(const std::string&, const std::string&, std::string&) +{ + gMimeOverriddenCallbackCalled++; + return false; +} + +static bool OnRequestIntercepted(Dali::WebEngineRequestInterceptorPtr interceptor) +{ + gRequestInterceptedCallbackCalled++; + gRequestInterceptorInstance = interceptor; + return false; +} + +static void OnContextMenuShown(std::unique_ptr menu) +{ + gContextMenuShownCallbackCalled++; + gContextMenuShownInstance = std::move(menu); +} + +static void OnContextMenuHidden(std::unique_ptr menu) +{ + gContextMenuHiddenCallbackCalled++; + gContextMenuHiddenInstance = std::move(menu); +} + } // namespace void web_view_startup(void) @@ -252,41 +335,41 @@ int UtcDaliWebViewBasics(void) ToolkitTestApplication application; // Copy and Assignment Test - tet_infoline( "UtcDaliWebViewBasic Copy and Assignment Test" ); + tet_infoline("UtcDaliWebViewBasic Copy and Assignment Test"); WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - WebView copy( view ); - DALI_TEST_CHECK( view == copy ); + WebView copy(view); + DALI_TEST_CHECK(view == copy); WebView assign; - DALI_TEST_CHECK( !assign ); + DALI_TEST_CHECK(!assign); assign = copy; - DALI_TEST_CHECK( assign == view ); + DALI_TEST_CHECK(assign == view); // DownCast Test - tet_infoline( "UtcDaliWebViewBasic DownCast Test" ); + tet_infoline("UtcDaliWebViewBasic DownCast Test"); BaseHandle handle(view); - WebView view2 = WebView::DownCast( handle ); - DALI_TEST_CHECK( view ); - DALI_TEST_CHECK( view2 ); - DALI_TEST_CHECK( view == view2 ); + WebView view2 = WebView::DownCast(handle); + DALI_TEST_CHECK(view); + DALI_TEST_CHECK(view2); + DALI_TEST_CHECK(view == view2); // TypeRegistry Test - tet_infoline( "UtcDaliWebViewBasic TypeRegistry Test" ); + tet_infoline("UtcDaliWebViewBasic TypeRegistry Test"); TypeRegistry typeRegistry = TypeRegistry::Get(); - DALI_TEST_CHECK( typeRegistry ); + DALI_TEST_CHECK(typeRegistry); - TypeInfo typeInfo = typeRegistry.GetTypeInfo( "WebView" ); - DALI_TEST_CHECK( typeInfo ); + TypeInfo typeInfo = typeRegistry.GetTypeInfo("WebView"); + DALI_TEST_CHECK(typeInfo); BaseHandle handle2 = typeInfo.CreateInstance(); - DALI_TEST_CHECK( handle2 ); + DALI_TEST_CHECK(handle2); - WebView view3 = WebView::DownCast( handle2 ); - DALI_TEST_CHECK( view3 ); + WebView view3 = WebView::DownCast(handle2); + DALI_TEST_CHECK(view3); END_TEST; } @@ -296,76 +379,63 @@ int UtcDaliWebViewPageNavigation(void) ToolkitTestApplication application; WebView view = WebView::New(); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); - application.GetScene().Add( view ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( view ); - - ConnectionTracker* testTracker = new ConnectionTracker(); - view.PageLoadStartedSignal().Connect( &OnPageLoadStarted ); - view.PageLoadInProgressSignal().Connect( &OnPageLoadInProgress ); - view.PageLoadFinishedSignal().Connect( &OnPageLoadFinished ); - view.UrlChangedSignal().Connect( &OnUrlChanged ); - bool signal1 = false; - bool signal2 = false; - bool signal3 = false; - bool signal4 = false; - bool signal5 = false; - view.ConnectSignal( testTracker, "pageLoadStarted", CallbackFunctor(&signal1) ); - view.ConnectSignal( testTracker, "pageLoadInProgress", CallbackFunctor(&signal2) ); - view.ConnectSignal( testTracker, "pageLoadFinished", CallbackFunctor(&signal3) ); - view.ConnectSignal( testTracker, "urlChanged", CallbackFunctor(&signal4) ); - view.ConnectSignal( testTracker, "invalidname", CallbackFunctor(&signal5) ); - DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 0, TEST_LOCATION ); - - view.LoadUrl( TEST_URL1 ); + DALI_TEST_CHECK(view); + + view.RegisterPageLoadStartedCallback(&OnPageLoadStarted); + view.RegisterPageLoadInProgressCallback(&OnPageLoadInProgress); + view.RegisterPageLoadFinishedCallback(&OnPageLoadFinished); + view.RegisterUrlChangedCallback(&OnUrlChanged); + DALI_TEST_EQUALS(gPageLoadStartedCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadInProgressCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gUrlChangedCallbackCalled, 0, TEST_LOCATION); + + view.LoadUrl(TEST_URL1); view.GetNaturalSize(); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( view.CanGoBack(), false, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 & signal2 & signal3 & signal4 ); - DALI_TEST_CHECK( !signal5 ); - - view.LoadUrl( TEST_URL2 ); + DALI_TEST_EQUALS(view.CanGoBack(), false, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadStartedCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadInProgressCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gUrlChangedCallbackCalled, 1, TEST_LOCATION); + + view.LoadUrl(TEST_URL2); view.Suspend(); - view.SetProperty( Actor::Property::SIZE, Vector2( 400, 300 ) ); + view.SetProperty(Actor::Property::SIZE, Vector2(400, 300)); application.SendNotification(); application.Render(); Test::EmitGlobalTimerSignal(); view.Resume(); - DALI_TEST_EQUALS( view.CanGoBack(), true, TEST_LOCATION ); - DALI_TEST_EQUALS( view.CanGoForward(), false, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 2, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 2, TEST_LOCATION ); - DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION ); - DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 2, TEST_LOCATION ); + DALI_TEST_EQUALS(view.CanGoBack(), true, TEST_LOCATION); + DALI_TEST_EQUALS(view.CanGoForward(), false, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadStartedCallbackCalled, 2, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadInProgressCallbackCalled, 2, TEST_LOCATION); + DALI_TEST_EQUALS(gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION); + DALI_TEST_EQUALS(gUrlChangedCallbackCalled, 2, TEST_LOCATION); view.GoBack(); Test::EmitGlobalTimerSignal(); - DALI_TEST_CHECK( !view.CanGoBack() ); - DALI_TEST_CHECK( view.CanGoForward() ); + DALI_TEST_CHECK(!view.CanGoBack()); + DALI_TEST_CHECK(view.CanGoForward()); view.GoForward(); Test::EmitGlobalTimerSignal(); - DALI_TEST_CHECK( view.CanGoBack() ); - DALI_TEST_CHECK( !view.CanGoForward() ); + DALI_TEST_CHECK(view.CanGoBack()); + DALI_TEST_CHECK(!view.CanGoForward()); view.Reload(); view.StopLoading(); view.ClearHistory(); Test::EmitGlobalTimerSignal(); - DALI_TEST_CHECK( !view.CanGoBack() ); - DALI_TEST_CHECK( !view.CanGoForward() ); + DALI_TEST_CHECK(!view.CanGoBack()); + DALI_TEST_CHECK(!view.CanGoForward()); END_TEST; } @@ -375,30 +445,24 @@ int UtcDaliWebViewPageLoadErrorConsoleMessage(void) ToolkitTestApplication application; WebView view = WebView::New(); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); - application.GetScene().Add( view ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( view ); - - ConnectionTracker* testTracker = new ConnectionTracker(); - view.PageLoadErrorSignal().Connect( &OnPageLoadError ); - view.ConsoleMessageSignal().Connect( &OnConsoleMessage ); - bool signal1 = false; - bool signal2 = false; - view.ConnectSignal( testTracker, "pageLoadError", CallbackFunctor(&signal1) ); - view.ConnectSignal( testTracker, "consoleMessage", CallbackFunctor(&signal2) ); - DALI_TEST_EQUALS( gPageLoadErrorCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gConsoleMessageCallbackCalled, 0, TEST_LOCATION ); - - view.LoadUrl( TEST_URL1 ); + DALI_TEST_CHECK(view); + + view.RegisterPageLoadErrorCallback(&OnPageLoadError); + view.RegisterConsoleMessageReceivedCallback(&OnConsoleMessage); + DALI_TEST_EQUALS(gPageLoadErrorCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gConsoleMessageCallbackCalled, 0, TEST_LOCATION); + + view.LoadUrl(TEST_URL1); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gPageLoadErrorCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gConsoleMessageCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 & signal2); + DALI_TEST_EQUALS(gPageLoadErrorCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gConsoleMessageCallbackCalled, 1, TEST_LOCATION); // error code. DALI_TEST_CHECK(gPageLoadErrorInstance); @@ -418,7 +482,7 @@ int UtcDaliWebViewPageLoadErrorConsoleMessage(void) DALI_TEST_EQUALS(gConsoleMessageInstance->GetText(), testConsoleText, TEST_LOCATION); // reset - gPageLoadErrorInstance = nullptr; + gPageLoadErrorInstance = nullptr; gConsoleMessageInstance = nullptr; END_TEST; @@ -429,41 +493,41 @@ int UtcDaliWebViewTouchAndKeys(void) ToolkitTestApplication application; WebView view = WebView::New(); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); view.GetNaturalSize(); - view.TouchedSignal().Connect( &OnTouched ); + view.TouchedSignal().Connect(&OnTouched); // Touch event Dali::Integration::TouchEvent event; - Dali::Integration::Point pointDown, pointUp; + Dali::Integration::Point pointDown, pointUp; event = Dali::Integration::TouchEvent(); - pointDown.SetState( PointState::DOWN ); - pointDown.SetScreenPosition( Vector2( 10, 10 ) ); - event.AddPoint( pointDown ); - application.ProcessEvent( event ); + pointDown.SetState(PointState::DOWN); + pointDown.SetScreenPosition(Vector2(10, 10)); + event.AddPoint(pointDown); + application.ProcessEvent(event); event = Dali::Integration::TouchEvent(); - pointUp.SetState( PointState::UP ); - pointUp.SetScreenPosition( Vector2( 10, 10 ) ); - event.AddPoint( pointUp ); - application.ProcessEvent( event ); + pointUp.SetState(PointState::UP); + pointUp.SetScreenPosition(Vector2(10, 10)); + event.AddPoint(pointUp); + application.ProcessEvent(event); // Key event - Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( view ); - application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) ); + Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor(view); + application.ProcessEvent(Integration::KeyEvent("", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE)); application.SendNotification(); - DALI_TEST_CHECK( gTouched ); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(gTouched); + DALI_TEST_CHECK(view); END_TEST; } @@ -473,23 +537,23 @@ int UtcDaliWebViewFocusGainedAndLost(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); view.SetKeyInputFocus(); - DALI_TEST_CHECK( view.HasKeyInputFocus() ); + DALI_TEST_CHECK(view.HasKeyInputFocus()); // reset view.ClearKeyInputFocus(); - DALI_TEST_CHECK( !view.HasKeyInputFocus() ); + DALI_TEST_CHECK(!view.HasKeyInputFocus()); END_TEST; } @@ -499,24 +563,24 @@ int UtcDaliWebViewPropertyPageZoomFactor(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - view.SetProperty( WebView::Property::PAGE_ZOOM_FACTOR, 1.5f); - float zoomFactor = view.GetProperty( WebView::Property::PAGE_ZOOM_FACTOR ); - DALI_TEST_EQUALS( zoomFactor, 1.5f, TEST_LOCATION ); + view.SetProperty(WebView::Property::PAGE_ZOOM_FACTOR, 1.5f); + float zoomFactor = view.GetProperty(WebView::Property::PAGE_ZOOM_FACTOR); + DALI_TEST_EQUALS(zoomFactor, 1.5f, TEST_LOCATION); - view.SetProperty( WebView::Property::PAGE_ZOOM_FACTOR, 1.0f); - zoomFactor = view.GetProperty( WebView::Property::PAGE_ZOOM_FACTOR ); - DALI_TEST_EQUALS( zoomFactor, 1.0f, TEST_LOCATION ); + view.SetProperty(WebView::Property::PAGE_ZOOM_FACTOR, 1.0f); + zoomFactor = view.GetProperty(WebView::Property::PAGE_ZOOM_FACTOR); + DALI_TEST_EQUALS(zoomFactor, 1.0f, TEST_LOCATION); END_TEST; } @@ -526,24 +590,24 @@ int UtcDaliWebViewPropertyTextZoomFactor(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - view.SetProperty( WebView::Property::TEXT_ZOOM_FACTOR, 1.5f); - float zoomFactor = view.GetProperty( WebView::Property::TEXT_ZOOM_FACTOR ); - DALI_TEST_EQUALS( zoomFactor, 1.5f, TEST_LOCATION ); + view.SetProperty(WebView::Property::TEXT_ZOOM_FACTOR, 1.5f); + float zoomFactor = view.GetProperty(WebView::Property::TEXT_ZOOM_FACTOR); + DALI_TEST_EQUALS(zoomFactor, 1.5f, TEST_LOCATION); - view.SetProperty( WebView::Property::TEXT_ZOOM_FACTOR, 1.0f); - zoomFactor = view.GetProperty( WebView::Property::TEXT_ZOOM_FACTOR ); - DALI_TEST_EQUALS( zoomFactor, 1.0f, TEST_LOCATION ); + view.SetProperty(WebView::Property::TEXT_ZOOM_FACTOR, 1.0f); + zoomFactor = view.GetProperty(WebView::Property::TEXT_ZOOM_FACTOR); + DALI_TEST_EQUALS(zoomFactor, 1.0f, TEST_LOCATION); END_TEST; } @@ -553,19 +617,19 @@ int UtcDaliWebViewPropertyLoadProgressPercentage(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - float percentage = view.GetProperty( WebView::Property::LOAD_PROGRESS_PERCENTAGE ); - DALI_TEST_EQUALS( percentage, 0.5f, TEST_LOCATION ); + float percentage = view.GetProperty(WebView::Property::LOAD_PROGRESS_PERCENTAGE); + DALI_TEST_EQUALS(percentage, 0.5f, TEST_LOCATION); END_TEST; } @@ -575,20 +639,20 @@ int UtcDaliWebViewMove(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - view.SetProperty( Actor::Property::POSITION, Vector2( 100, 100 )); - Vector3 viewPos = view.GetProperty( Actor::Property::POSITION ); - DALI_TEST_EQUALS( viewPos, Vector3( 100, 100, 0 ), TEST_LOCATION ); + view.SetProperty(Actor::Property::POSITION, Vector2(100, 100)); + Vector3 viewPos = view.GetProperty(Actor::Property::POSITION); + DALI_TEST_EQUALS(viewPos, Vector3(100, 100, 0), TEST_LOCATION); END_TEST; } @@ -598,22 +662,22 @@ int UtcDaliWebViewPropertyVideoHoleEnabled(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - const bool kDefaultValue = true; - const bool kTestValue = false; + const bool kDefaultValue = false; + const bool kTestValue = true; // Check default value - bool output; - Property::Value value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION ); + bool output; + Property::Value value = view.GetProperty(WebView::Property::VIDEO_HOLE_ENABLED); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kDefaultValue, TEST_LOCATION); // Check Set/GetProperty - view.SetProperty( WebView::Property::VIDEO_HOLE_ENABLED, kTestValue ); - value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION ); + view.SetProperty(WebView::Property::VIDEO_HOLE_ENABLED, kTestValue); + value = view.GetProperty(WebView::Property::VIDEO_HOLE_ENABLED); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kTestValue, TEST_LOCATION); END_TEST; } @@ -623,22 +687,22 @@ int UtcDaliWebViewPropertyMouseEventsEnabled(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); const bool kDefaultValue = true; - const bool kTestValue = false; + const bool kTestValue = false; // Check default value - bool output; - Property::Value value = view.GetProperty( WebView::Property::MOUSE_EVENTS_ENABLED ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION ); + bool output; + Property::Value value = view.GetProperty(WebView::Property::MOUSE_EVENTS_ENABLED); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kDefaultValue, TEST_LOCATION); // Check Set/GetProperty - view.SetProperty( WebView::Property::MOUSE_EVENTS_ENABLED, kTestValue ); - value = view.GetProperty( WebView::Property::MOUSE_EVENTS_ENABLED ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION ); + view.SetProperty(WebView::Property::MOUSE_EVENTS_ENABLED, kTestValue); + value = view.GetProperty(WebView::Property::MOUSE_EVENTS_ENABLED); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kTestValue, TEST_LOCATION); END_TEST; } @@ -648,22 +712,22 @@ int UtcDaliWebViewPropertyKeyEventsEnabled(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); const bool kDefaultValue = true; - const bool kTestValue = false; + const bool kTestValue = false; // Check default value - bool output; - Property::Value value = view.GetProperty( WebView::Property::KEY_EVENTS_ENABLED ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION ); + bool output; + Property::Value value = view.GetProperty(WebView::Property::KEY_EVENTS_ENABLED); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kDefaultValue, TEST_LOCATION); // Check Set/GetProperty - view.SetProperty( WebView::Property::KEY_EVENTS_ENABLED, kTestValue ); - value = view.GetProperty( WebView::Property::KEY_EVENTS_ENABLED ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION ); + view.SetProperty(WebView::Property::KEY_EVENTS_ENABLED, kTestValue); + value = view.GetProperty(WebView::Property::KEY_EVENTS_ENABLED); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kTestValue, TEST_LOCATION); END_TEST; } @@ -673,93 +737,87 @@ int UtcDaliWebViewHoverAndWheel(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + DALI_TEST_CHECK(view); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); view.GetNaturalSize(); - view.HoveredSignal().Connect( &OnHovered ); - view.WheelEventSignal().Connect( &OnWheelEvent ); + view.HoveredSignal().Connect(&OnHovered); + view.WheelEventSignal().Connect(&OnWheelEvent); // Hover event Dali::Integration::HoverEvent event = Dali::Integration::HoverEvent(); - Dali::Integration::Point pointDown; - pointDown.SetState( PointState::DOWN ); - pointDown.SetScreenPosition( Vector2( 10, 10 ) ); - event.AddPoint( pointDown ); - application.ProcessEvent( event ); + Dali::Integration::Point pointDown; + pointDown.SetState(PointState::DOWN); + pointDown.SetScreenPosition(Vector2(10, 10)); + event.AddPoint(pointDown); + application.ProcessEvent(event); event = Dali::Integration::HoverEvent(); Dali::Integration::Point pointUp; - pointUp.SetState( PointState::UP ); - pointUp.SetScreenPosition( Vector2( 10, 10 ) ); - event.AddPoint( pointUp ); - application.ProcessEvent( event ); + pointUp.SetState(PointState::UP); + pointUp.SetScreenPosition(Vector2(10, 10)); + event.AddPoint(pointUp); + application.ProcessEvent(event); event = Dali::Integration::HoverEvent(); Dali::Integration::Point pointMotion; - pointUp.SetState( PointState::MOTION ); - pointUp.SetScreenPosition( Vector2( 10, 10 ) ); - event.AddPoint( pointMotion ); - application.ProcessEvent( event ); + pointUp.SetState(PointState::MOTION); + pointUp.SetScreenPosition(Vector2(10, 10)); + event.AddPoint(pointMotion); + application.ProcessEvent(event); // Wheel event Dali::Integration::WheelEvent wheelEvent; - wheelEvent.type = Dali::Integration::WheelEvent::Type::MOUSE_WHEEL; + wheelEvent.type = Dali::Integration::WheelEvent::Type::MOUSE_WHEEL; wheelEvent.direction = 0; - wheelEvent.point = Vector2( 20, 20 ); - wheelEvent.delta = 10; - application.ProcessEvent( wheelEvent ); + wheelEvent.point = Vector2(20, 20); + wheelEvent.delta = 10; + application.ProcessEvent(wheelEvent); application.SendNotification(); - DALI_TEST_CHECK( gHovered ); - DALI_TEST_CHECK( gWheelEventHandled ); + DALI_TEST_CHECK(gHovered); + DALI_TEST_CHECK(gWheelEventHandled); END_TEST; } -int UtcDaliWebViewFormRepostDecisionFrameRendering(void) +int UtcDaliWebViewFormRepostDecidedFrameRendering(void) { ToolkitTestApplication application; WebView view = WebView::New(); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); - application.GetScene().Add( view ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( view ); - - ConnectionTracker* testTracker = new ConnectionTracker(); - view.FormRepostDecisionSignal().Connect(&OnFormRepostDecision); - view.FrameRenderedSignal().Connect(&OnFrameRendered); - bool signal1 = false; - bool signal2 = false; - view.ConnectSignal( testTracker, "formRepostDecision", CallbackFunctor(&signal1) ); - view.ConnectSignal( testTracker, "frameRendered", CallbackFunctor(&signal2) ); - DALI_TEST_EQUALS( gFormRepostDecisionCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gFrameRenderedCallbackCalled, 0, TEST_LOCATION ); - - view.LoadUrl( TEST_URL1 ); + DALI_TEST_CHECK(view); + + view.RegisterFormRepostDecidedCallback(&OnFormRepostDecided); + view.RegisterFrameRenderedCallback(&OnFrameRendered); + DALI_TEST_EQUALS(gFormRepostDecidedCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gFrameRenderedCallbackCalled, 0, TEST_LOCATION); + + view.LoadUrl(TEST_URL1); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gFormRepostDecisionCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gFrameRenderedCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 & signal2); + DALI_TEST_EQUALS(gFormRepostDecidedCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gFrameRenderedCallbackCalled, 1, TEST_LOCATION); // form repost decision. - DALI_TEST_CHECK(gFormRepostDecisionInstance); - gFormRepostDecisionInstance->Reply(true); + DALI_TEST_CHECK(gFormRepostDecidedInstance); + gFormRepostDecidedInstance->Reply(true); // reset - gFormRepostDecisionInstance = nullptr; + gFormRepostDecidedInstance = nullptr; END_TEST; } @@ -769,35 +827,27 @@ int UtcDaliWebViewSslCertificateHttpAuthentication(void) ToolkitTestApplication application; WebView view = WebView::New(); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); - application.GetScene().Add( view ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( view ); - - ConnectionTracker* testTracker = new ConnectionTracker(); - view.CertificateConfirmSignal().Connect(&OnCertificateConfirm); - view.SslCertificateChangedSignal().Connect(&OnSslCertificateChanged); - view.HttpAuthHandlerSignal().Connect(&OnHttpAuthHandler); - bool signal1 = false; - bool signal2 = false; - bool signal3 = false; - view.ConnectSignal( testTracker, "certificateConfirm", CallbackFunctor(&signal1) ); - view.ConnectSignal( testTracker, "sslCertificateChanged", CallbackFunctor(&signal2) ); - view.ConnectSignal( testTracker, "httpAuthRequest", CallbackFunctor(&signal3) ); - DALI_TEST_EQUALS( gCertificateConfirmCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gSslCertificateChangedCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_EQUALS( gHttpAuthHandlerCallbackCalled, 0, TEST_LOCATION ); - - view.LoadUrl( TEST_URL1 ); + DALI_TEST_CHECK(view); + + view.RegisterCertificateConfirmedCallback(&OnCertificateConfirm); + view.RegisterSslCertificateChangedCallback(&OnSslCertificateChanged); + view.RegisterHttpAuthHandlerCallback(&OnHttpAuthHandler); + DALI_TEST_EQUALS(gCertificateConfirmCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gSslCertificateChangedCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gHttpAuthHandlerCallbackCalled, 0, TEST_LOCATION); + + view.LoadUrl(TEST_URL1); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gCertificateConfirmCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gSslCertificateChangedCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_EQUALS( gHttpAuthHandlerCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 & signal2 & signal3); + DALI_TEST_EQUALS(gCertificateConfirmCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gSslCertificateChangedCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gHttpAuthHandlerCallbackCalled, 1, TEST_LOCATION); // certificate. DALI_TEST_CHECK(gCertificateConfirmInstance); @@ -817,8 +867,8 @@ int UtcDaliWebViewSslCertificateHttpAuthentication(void) // reset gCertificateConfirmInstance = nullptr; - gSslCertificateInstance = nullptr; - gHttpAuthInstance = nullptr; + gSslCertificateInstance = nullptr; + gHttpAuthInstance = nullptr; END_TEST; } @@ -828,10 +878,10 @@ int UtcDaliWebViewGetWebBackForwardList(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList(); - DALI_TEST_CHECK( bfList != 0 ); + DALI_TEST_CHECK(bfList != 0); END_TEST; } @@ -841,10 +891,10 @@ int UtcDaliWebViewGetWebContext(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebContext* context = view.GetContext(); - DALI_TEST_CHECK( context != 0 ); + DALI_TEST_CHECK(context != 0); END_TEST; } @@ -854,10 +904,10 @@ int UtcDaliWebViewGetWebCookieManager(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager(); - DALI_TEST_CHECK( cookieManager != 0 ); + DALI_TEST_CHECK(cookieManager != 0); END_TEST; } @@ -867,10 +917,10 @@ int UtcDaliWebViewGetWebSettings(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); END_TEST; } @@ -881,13 +931,13 @@ int UtcDaliWebViewProperty1(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); std::string local; - view.SetProperty( WebView::Property::URL, TEST_URL1 ); - Property::Value val = view.GetProperty( WebView::Property::URL ); - DALI_TEST_CHECK( val.Get( local ) ); - DALI_TEST_EQUALS( local, TEST_URL1, TEST_LOCATION ); + view.SetProperty(WebView::Property::URL, TEST_URL1); + Property::Value val = view.GetProperty(WebView::Property::URL); + DALI_TEST_CHECK(val.Get(local)); + DALI_TEST_EQUALS(local, TEST_URL1, TEST_LOCATION); END_TEST; } @@ -898,22 +948,22 @@ int UtcDaliWebViewProperty4(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); const std::string kDefaultValue; const std::string kTestValue = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"; // Check default value - std::string output; - Property::Value value = view.GetProperty( WebView::Property::USER_AGENT ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION ); + std::string output; + Property::Value value = view.GetProperty(WebView::Property::USER_AGENT); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kDefaultValue, TEST_LOCATION); // Check Set/GetProperty - view.SetProperty( WebView::Property::USER_AGENT, kTestValue ); - value = view.GetProperty( WebView::Property::USER_AGENT ); - DALI_TEST_CHECK( value.Get( output ) ); - DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION ); + view.SetProperty(WebView::Property::USER_AGENT, kTestValue); + value = view.GetProperty(WebView::Property::USER_AGENT); + DALI_TEST_CHECK(value.Get(output)); + DALI_TEST_EQUALS(output, kTestValue, TEST_LOCATION); END_TEST; } @@ -924,28 +974,28 @@ int UtcDaliWebViewProperty9(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); // Check default value Dali::Vector2 output = Dali::Vector2::ONE; - view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output ); - DALI_TEST_CHECK( output.x == 0 && output.y == 0 ); + view.GetProperty(WebView::Property::SCROLL_POSITION).Get(output); + DALI_TEST_CHECK(output.x == 0 && output.y == 0); // Check Set/GetProperty - Dali::Vector2 testValue = Dali::Vector2( 100, 100 ); - view.SetProperty( WebView::Property::SCROLL_POSITION, testValue ); - view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output ); - DALI_TEST_EQUALS( output, testValue, TEST_LOCATION ); + Dali::Vector2 testValue = Dali::Vector2(100, 100); + view.SetProperty(WebView::Property::SCROLL_POSITION, testValue); + view.GetProperty(WebView::Property::SCROLL_POSITION).Get(output); + DALI_TEST_EQUALS(output, testValue, TEST_LOCATION); // Check default value of scroll size output = Dali::Vector2::ONE; - view.GetProperty( WebView::Property::SCROLL_SIZE ).Get( output ); - DALI_TEST_CHECK( output.x == 500 && output.y == 500 ); + view.GetProperty(WebView::Property::SCROLL_SIZE).Get(output); + DALI_TEST_CHECK(output.x == 500 && output.y == 500); // Check default value of content size output = Dali::Vector2::ONE; - view.GetProperty( WebView::Property::CONTENT_SIZE ).Get( output ); - DALI_TEST_CHECK( output.x == 500 && output.y == 500 ); + view.GetProperty(WebView::Property::CONTENT_SIZE).Get(output); + DALI_TEST_CHECK(output.x == 500 && output.y == 500); END_TEST; } @@ -955,7 +1005,7 @@ int UtcDaliWebViewPropertyBackgroundColorSelectedTextEtc(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Vector4 testValue = Dali::Vector4(0.0f, 0.0f, 0.0f, 0.0f); view.SetProperty(WebView::Property::DOCUMENT_BACKGROUND_COLOR, testValue); @@ -976,9 +1026,9 @@ int UtcDaliWebViewPropertyTitleFavicon(void) { ToolkitTestApplication application; - char argv[] = "--test"; - WebView view = WebView::New( 1, (char**)&argv ); - DALI_TEST_CHECK( view ); + char argv[] = "--test"; + WebView view = WebView::New(1, (char**)&argv); + DALI_TEST_CHECK(view); // reset something view.ClearAllTilesResources(); @@ -986,14 +1036,71 @@ int UtcDaliWebViewPropertyTitleFavicon(void) // Check default value of title std::string testValue("title"); std::string output; - view.GetProperty( WebView::Property::TITLE ).Get( output ); - DALI_TEST_EQUALS( output, testValue, TEST_LOCATION ); + view.GetProperty(WebView::Property::TITLE).Get(output); + DALI_TEST_EQUALS(output, testValue, TEST_LOCATION); + + // Check the case that favicon is not null. + Dali::Toolkit::ImageView favicon = view.GetFavicon(); + DALI_TEST_CHECK(favicon); + Dali::Vector3 iconsize = favicon.GetProperty(Dali::Actor::Property::SIZE); + DALI_TEST_CHECK((int)iconsize.width == 2 && (int)iconsize.height == 2); - // Check default value of favicon - Dali::Toolkit::ImageView* favicon = &view.GetFavicon(); - DALI_TEST_CHECK( favicon ); - Dali::Vector3 iconsize = favicon->GetProperty< Vector3 >( Dali::Actor::Property::SIZE ); - DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 ); + // Check the case that favicon is null. + favicon = view.GetFavicon(); + DALI_TEST_CHECK(!favicon); + + END_TEST; +} + +int UtcDaliWebViewContextMenuShownAndHidden(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + // load url. + view.RegisterContextMenuShownCallback(&OnContextMenuShown); + view.RegisterContextMenuHiddenCallback(&OnContextMenuHidden); + DALI_TEST_EQUALS(gContextMenuShownCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_EQUALS(gContextMenuHiddenCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_CHECK(gContextMenuShownInstance == 0); + DALI_TEST_CHECK(gContextMenuHiddenInstance == 0); + + view.LoadUrl(TEST_URL1); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gContextMenuShownCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_EQUALS(gContextMenuHiddenCallbackCalled, 1, TEST_LOCATION); + + // check context meun & its items. + DALI_TEST_CHECK(gContextMenuShownInstance != 0); + std::unique_ptr item = gContextMenuShownInstance->GetItemAt(0); + DALI_TEST_CHECK(item.get() != 0); + std::vector> itemList = gContextMenuShownInstance->GetItemList(); + DALI_TEST_CHECK(itemList.size() == 1); + DALI_TEST_CHECK(gContextMenuShownInstance->RemoveItem(*(item.get()))); + DALI_TEST_CHECK(gContextMenuShownInstance->AppendItemAsAction(WebEngineContextMenuItem::ItemTag::NO_ACTION, "", false)); + DALI_TEST_CHECK(gContextMenuShownInstance->AppendItem(WebEngineContextMenuItem::ItemTag::NO_ACTION, "", "", false)); + DALI_TEST_CHECK(gContextMenuShownInstance->SelectItem(*(item.get()))); + DALI_TEST_CHECK(gContextMenuShownInstance->Hide()); + + Dali::WebEngineContextMenuItem::ItemTag testItemTag = Dali::WebEngineContextMenuItem::ItemTag::NO_ACTION; + DALI_TEST_EQUALS(item->GetTag(), testItemTag, TEST_LOCATION); + Dali::WebEngineContextMenuItem::ItemType testItemType = Dali::WebEngineContextMenuItem::ItemType::ACTION; + DALI_TEST_EQUALS(item->GetType(), testItemType, TEST_LOCATION); + DALI_TEST_CHECK(item->IsEnabled()); + std::string testLinkUrl("http://test.html"); + DALI_TEST_EQUALS(item->GetLinkUrl(), testLinkUrl, TEST_LOCATION); + std::string testImageUrl("http://test.jpg"); + DALI_TEST_EQUALS(item->GetImageUrl(), testImageUrl, TEST_LOCATION); + std::string testTitle("title"); + DALI_TEST_EQUALS(item->GetTitle(), testTitle, TEST_LOCATION); + DALI_TEST_CHECK(item->GetParentMenu().get() == 0); + + DALI_TEST_CHECK(gContextMenuHiddenInstance != 0); + + gContextMenuShownInstance = nullptr; + gContextMenuHiddenInstance = nullptr; END_TEST; } @@ -1003,43 +1110,38 @@ int UtcDaliWebViewScrollBy(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); // load url. - ConnectionTracker* testTracker = new ConnectionTracker(); - view.ScrollEdgeReachedSignal().Connect( &OnScrollEdgeReached ); - bool signal1 = false; - view.ConnectSignal( testTracker, "scrollEdgeReached", CallbackFunctor(&signal1) ); - DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION ); + view.RegisterScrollEdgeReachedCallback(&OnScrollEdgeReached); + DALI_TEST_EQUALS(gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION); - view.LoadUrl( TEST_URL1 ); + view.LoadUrl(TEST_URL1); Test::EmitGlobalTimerSignal(); // set scroll position. - Dali::Vector2 output = Dali::Vector2::ONE; - Dali::Vector2 testValue = Dali::Vector2( 100, 100 ); - view.SetProperty( WebView::Property::SCROLL_POSITION, testValue ); - view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output ); - DALI_TEST_EQUALS( output, testValue, TEST_LOCATION ); + Dali::Vector2 output = Dali::Vector2::ONE; + Dali::Vector2 testValue = Dali::Vector2(100, 100); + view.SetProperty(WebView::Property::SCROLL_POSITION, testValue); + view.GetProperty(WebView::Property::SCROLL_POSITION).Get(output); + DALI_TEST_EQUALS(output, testValue, TEST_LOCATION); // scroll by and trigger scrollEdgeReached event. - view.ScrollBy( 50, 50 ); + view.ScrollBy(50, 50); Test::EmitGlobalTimerSignal(); - view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output ); - DALI_TEST_CHECK( output.x == 150 && output.y == 150 ); - DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 ); + view.GetProperty(WebView::Property::SCROLL_POSITION).Get(output); + DALI_TEST_CHECK(output.x == 150 && output.y == 150); + DALI_TEST_EQUALS(gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION); // scroll by and trigger scrollEdgeReached event. - bool result = view.ScrollEdgeBy( 50, 50 ); - DALI_TEST_CHECK( result ); + bool result = view.ScrollEdgeBy(50, 50); + DALI_TEST_CHECK(result); Test::EmitGlobalTimerSignal(); - view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output ); - DALI_TEST_CHECK( output.x == 200 && output.y == 200 ); - DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 2, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 ); + view.GetProperty(WebView::Property::SCROLL_POSITION).Get(output); + DALI_TEST_CHECK(output.x == 200 && output.y == 200); + DALI_TEST_EQUALS(gScrollEdgeReachedCallbackCalled, 2, TEST_LOCATION); END_TEST; } @@ -1049,29 +1151,29 @@ int UtcDaliWebViewSetGetScaleFactorActivateAccessibility(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); view.ActivateAccessibility(true); view.AddDynamicCertificatePath("host", "test/to/path"); bool found = view.HighlightText("test", Dali::WebEnginePlugin::FindOption::CASE_INSENSITIVE, 2); - DALI_TEST_CHECK( found ); + DALI_TEST_CHECK(found); view.SetScaleFactor(1.5f, Dali::Vector2(0.0f, 0.0f)); float result = view.GetScaleFactor(); - DALI_TEST_EQUALS( result, 1.5f, TEST_LOCATION ); + DALI_TEST_EQUALS(result, 1.5f, TEST_LOCATION); view.SetScaleFactor(1.0f, Dali::Vector2(0.0f, 0.0f)); result = view.GetScaleFactor(); - DALI_TEST_EQUALS( result, 1.0f, TEST_LOCATION ); + DALI_TEST_EQUALS(result, 1.0f, TEST_LOCATION); END_TEST; } @@ -1081,33 +1183,33 @@ int UtcDaliWebViewGetScreenshotSyncAndAsync(void) // SCROLL_POSITION ToolkitTestApplication application; - char argv[] = "--test"; - WebView view = WebView::New( 1, (char**)&argv ); - DALI_TEST_CHECK( view ); + char argv[] = "--test"; + WebView view = WebView::New(1, (char**)&argv); + DALI_TEST_CHECK(view); // Check GetScreenshot Dali::Rect viewArea; - viewArea.x = 100; - viewArea.y = 100; - viewArea.width = 10; - viewArea.height = 10; + viewArea.x = 100; + viewArea.y = 100; + viewArea.width = 10; + viewArea.height = 10; Dali::Toolkit::ImageView screenshot = view.GetScreenshot(viewArea, 1.0f); - DALI_TEST_CHECK( screenshot ); - Dali::Vector3 shotsize = screenshot.GetProperty< Vector3 >( Dali::Actor::Property::SIZE ); - DALI_TEST_CHECK( ( int )shotsize.width == viewArea.width && ( int )shotsize.height == viewArea.height ); + DALI_TEST_CHECK(screenshot); + Dali::Vector3 shotsize = screenshot.GetProperty(Dali::Actor::Property::SIZE); + DALI_TEST_CHECK((int)shotsize.width == viewArea.width && (int)shotsize.height == viewArea.height); // Check GetScreenshotAsynchronously - viewArea.x = 100; - viewArea.y = 100; - viewArea.width = 100; + viewArea.x = 100; + viewArea.y = 100; + viewArea.width = 100; viewArea.height = 100; - bool result = view.GetScreenshotAsynchronously(viewArea, 1.0f, &OnScreenshotCaptured); - DALI_TEST_CHECK( result ); + bool result = view.GetScreenshotAsynchronously(viewArea, 1.0f, &OnScreenshotCaptured); + DALI_TEST_CHECK(result); Test::EmitGlobalTimerSignal(); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gScreenshotCapturedCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gScreenshotCapturedCallbackCalled, 1, TEST_LOCATION); END_TEST; } @@ -1117,103 +1219,127 @@ int UtcDaliWebViewVideoPlayingGeolocationPermission(void) // SCROLL_POSITION ToolkitTestApplication application; - char argv[] = "--test"; - WebView view = WebView::New( 1, (char**)&argv ); - DALI_TEST_CHECK( view ); + char argv[] = "--test"; + WebView view = WebView::New(1, (char**)&argv); + DALI_TEST_CHECK(view); // Check CheckVideoPlayingAsynchronously bool result = view.CheckVideoPlayingAsynchronously(&OnVideoPlaying); - DALI_TEST_CHECK( result ); + DALI_TEST_CHECK(result); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gVideoPlayingCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gVideoPlayingCallbackCalled, 1, TEST_LOCATION); // Check RegisterGeolocationPermissionCallback view.RegisterGeolocationPermissionCallback(&OnGeolocationPermission); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gGeolocationPermissionCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gGeolocationPermissionCallbackCalled, 1, TEST_LOCATION); END_TEST; } -int UtcDaliWebViewHttpRequestInterceptor(void) +int UtcDaliWebViewResponsePolicyDecisionRequest(void) { ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); // load url. - ConnectionTracker* testTracker = new ConnectionTracker(); - view.RequestInterceptorSignal().Connect( &OnRequestInterceptor ); - bool signal1 = false; - view.ConnectSignal( testTracker, "requestInterceptor", CallbackFunctor(&signal1) ); - DALI_TEST_EQUALS( gRequestInterceptorCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_CHECK(gRequestInterceptorInstance == 0); - - view.LoadUrl( TEST_URL1 ); + view.RegisterResponsePolicyDecidedCallback(&OnResponsePolicyDecided); + DALI_TEST_EQUALS(gResponsePolicyDecidedCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_CHECK(gResponsePolicyDecisionInstance == 0); + + view.LoadUrl(TEST_URL1); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gRequestInterceptorCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 ); + DALI_TEST_EQUALS(gResponsePolicyDecidedCallbackCalled, 1, TEST_LOCATION); - // check request interceptor. - DALI_TEST_CHECK(gRequestInterceptorInstance != 0); - DALI_TEST_CHECK(gRequestInterceptorInstance->Ignore()); - DALI_TEST_CHECK(gRequestInterceptorInstance->SetResponseStatus(400, "error")); - DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeader("key", "value")); - DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseBody("test", 4)); + // check response policy decision & its frame. + DALI_TEST_CHECK(gResponsePolicyDecisionInstance != 0); std::string testUrl("http://test.html"); - DALI_TEST_EQUALS(gRequestInterceptorInstance->GetUrl(), testUrl, TEST_LOCATION); + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetUrl(), testUrl, TEST_LOCATION); + std::string testCookie("test:abc"); + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetCookie(), testCookie, TEST_LOCATION); + Dali::WebEnginePolicyDecision::DecisionType testDecisionType = Dali::WebEnginePolicyDecision::DecisionType::USE; + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetDecisionType(), testDecisionType, TEST_LOCATION); + std::string testResponseMime("txt/xml"); + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetResponseMime(), testResponseMime, TEST_LOCATION); + int32_t ResponseStatusCode = 500; + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetResponseStatusCode(), ResponseStatusCode, TEST_LOCATION); + Dali::WebEnginePolicyDecision::NavigationType testNavigationType = Dali::WebEnginePolicyDecision::NavigationType::LINK_CLICKED; + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetNavigationType(), testNavigationType, TEST_LOCATION); + std::string testScheme("test"); + DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetScheme(), testScheme, TEST_LOCATION); + DALI_TEST_CHECK(gResponsePolicyDecisionInstance->Use()); + DALI_TEST_CHECK(gResponsePolicyDecisionInstance->Ignore()); + DALI_TEST_CHECK(gResponsePolicyDecisionInstance->Suspend()); - gRequestInterceptorInstance = nullptr; + Dali::WebEngineFrame* webFrame = &(gResponsePolicyDecisionInstance->GetFrame()); + DALI_TEST_CHECK(webFrame); + DALI_TEST_CHECK(webFrame->IsMainFrame()); + + gResponsePolicyDecisionInstance = nullptr; END_TEST; } -int UtcDaliWebViewPolicyDecisionRequest(void) +int UtcDaliWebViewNavigationPolicyDecisionRequest(void) { ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); // load url. - ConnectionTracker* testTracker = new ConnectionTracker(); - view.PolicyDecisionSignal().Connect( &OnPolicyDecisionRequest ); - bool signal1 = false; - view.ConnectSignal( testTracker, "policyDecision", CallbackFunctor(&signal1) ); - DALI_TEST_EQUALS( gPolicyDecisionCallbackCalled, 0, TEST_LOCATION ); - DALI_TEST_CHECK(gPolicyDecisionInstance == 0); - - view.LoadUrl( TEST_URL1 ); + view.RegisterNavigationPolicyDecidedCallback(&OnNavigationPolicyDecided); + DALI_TEST_EQUALS(gNavigationPolicyDecidedCallbackCalled, 0, TEST_LOCATION); + + view.LoadUrl(TEST_URL1); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gPolicyDecisionCallbackCalled, 1, TEST_LOCATION ); - DALI_TEST_CHECK( signal1 ); + DALI_TEST_EQUALS(gNavigationPolicyDecidedCallbackCalled, 1, TEST_LOCATION); - // check policy decision & its frame. - DALI_TEST_CHECK(gPolicyDecisionInstance != 0); - std::string testUrl("http://test.html"); - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetUrl(), testUrl, TEST_LOCATION); - std::string testCookie("test:abc"); - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetCookie(), testCookie, TEST_LOCATION); - Dali::WebEnginePolicyDecision::DecisionType testDecisionType = Dali::WebEnginePolicyDecision::DecisionType::USE; - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetDecisionType(), testDecisionType, TEST_LOCATION); - std::string testResponseMime("txt/xml"); - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetResponseMime(), testResponseMime, TEST_LOCATION); - int32_t ResponseStatusCode = 500; - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetResponseStatusCode(), ResponseStatusCode, TEST_LOCATION); - Dali::WebEnginePolicyDecision::NavigationType testNavigationType = Dali::WebEnginePolicyDecision::NavigationType::LINK_CLICKED; - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetNavigationType(), testNavigationType, TEST_LOCATION); - std::string testScheme("test"); - DALI_TEST_EQUALS(gPolicyDecisionInstance->GetScheme(), testScheme, TEST_LOCATION); - DALI_TEST_CHECK(gPolicyDecisionInstance->Use()); - DALI_TEST_CHECK(gPolicyDecisionInstance->Ignore()); - DALI_TEST_CHECK(gPolicyDecisionInstance->Suspend()); + END_TEST; +} - Dali::WebEngineFrame* webFrame = &(gPolicyDecisionInstance->GetFrame()); - DALI_TEST_CHECK(webFrame); - DALI_TEST_CHECK(webFrame->IsMainFrame()); +int UtcDaliWebViewHitTest(void) +{ + ToolkitTestApplication application; - gPolicyDecisionInstance = nullptr; + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + // load url. + view.LoadUrl(TEST_URL1); + + // sync hit test. + std::unique_ptr hitTest = view.CreateHitTest(100, 100, Dali::WebEngineHitTest::HitTestMode::DEFAULT); + DALI_TEST_CHECK(hitTest != 0); + DALI_TEST_EQUALS(hitTest->GetResultContext(), Dali::WebEngineHitTest::ResultContext::DOCUMENT, TEST_LOCATION); + std::string testLinkUri("http://test.html"); + DALI_TEST_EQUALS(hitTest->GetLinkUri(), testLinkUri, TEST_LOCATION); + std::string testLinkTitle("test"); + DALI_TEST_EQUALS(hitTest->GetLinkTitle(), testLinkTitle, TEST_LOCATION); + std::string testLinkLabel("label"); + DALI_TEST_EQUALS(hitTest->GetLinkLabel(), testLinkLabel, TEST_LOCATION); + std::string testImageUri("http://test.jpg"); + DALI_TEST_EQUALS(hitTest->GetImageUri(), testImageUri, TEST_LOCATION); + std::string testMediaUri("http://test.mp4"); + DALI_TEST_EQUALS(hitTest->GetMediaUri(), testMediaUri, TEST_LOCATION); + std::string testTagName("img"); + DALI_TEST_EQUALS(hitTest->GetTagName(), testTagName, TEST_LOCATION); + std::string testNodeValue("test"); + DALI_TEST_EQUALS(hitTest->GetNodeValue(), testNodeValue, TEST_LOCATION); + Dali::Property::Map testMap = hitTest->GetAttributes(); + DALI_TEST_EQUALS(testMap.Count(), 0, TEST_LOCATION); + std::string testImageFileNameExtension("jpg"); + DALI_TEST_EQUALS(hitTest->GetImageFileNameExtension(), testImageFileNameExtension, TEST_LOCATION); + Dali::PixelData testImageBuffer = hitTest->GetImageBuffer(); + DALI_TEST_CHECK((int)testImageBuffer.GetWidth() == 2 && (int)testImageBuffer.GetHeight() == 2); + + // async... + bool result = view.CreateHitTestAsynchronously(100, 100, Dali::WebEngineHitTest::HitTestMode::DEFAULT, &OnHitTestCreated); + DALI_TEST_CHECK(result); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gHitTestCreatedCallbackCalled, 1, TEST_LOCATION); END_TEST; } @@ -1222,14 +1348,14 @@ int UtcDaliWebViewEvaluteJavaScript(void) { ToolkitTestApplication application; - WebView view = WebView::New( "ko-KR", "Asia/Seoul" ); + WebView view = WebView::New("ko-KR", "Asia/Seoul"); - view.LoadHtmlString( "Hello World!" ); - view.EvaluateJavaScript( "jsObject.postMessage('Hello')" ); - view.EvaluateJavaScript( "jsObject.postMessage('World')", OnEvaluateJavaScript ); + view.LoadHtmlString("Hello World!"); + view.EvaluateJavaScript("jsObject.postMessage('Hello')"); + view.EvaluateJavaScript("jsObject.postMessage('World')", OnEvaluateJavaScript); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION); END_TEST; } @@ -1238,25 +1364,25 @@ int UtcDaliWebViewJavaScriptAlertConfirmPrompt(void) { ToolkitTestApplication application; - WebView view = WebView::New( "ko-KR", "Asia/Seoul" ); + WebView view = WebView::New("ko-KR", "Asia/Seoul"); - view.RegisterJavaScriptAlertCallback( &OnJavaScriptAlert ); - view.LoadHtmlString( "Hello World!" ); + view.RegisterJavaScriptAlertCallback(&OnJavaScriptAlert); + view.LoadHtmlString("Hello World!"); view.JavaScriptAlertReply(); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gJavaScriptAlertCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gJavaScriptAlertCallbackCalled, 1, TEST_LOCATION); - view.RegisterJavaScriptConfirmCallback( &OnJavaScriptConfirm ); - view.LoadHtmlString( "Hello World!" ); - view.JavaScriptConfirmReply( true ); + view.RegisterJavaScriptConfirmCallback(&OnJavaScriptConfirm); + view.LoadHtmlString("Hello World!"); + view.JavaScriptConfirmReply(true); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gJavaScriptConfirmCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gJavaScriptConfirmCallbackCalled, 1, TEST_LOCATION); - view.RegisterJavaScriptPromptCallback( &OnJavaScriptPrompt ); - view.LoadHtmlString( "Hello World!" ); - view.JavaScriptPromptReply( "it is a prompt." ); + view.RegisterJavaScriptPromptCallback(&OnJavaScriptPrompt); + view.LoadHtmlString("Hello World!"); + view.JavaScriptPromptReply("it is a prompt."); Test::EmitGlobalTimerSignal(); - DALI_TEST_EQUALS( gJavaScriptPromptCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS(gJavaScriptPromptCallbackCalled, 1, TEST_LOCATION); END_TEST; } @@ -1265,21 +1391,21 @@ int UtcDaliWebViewLoadHtmlStringOverrideCurrentEntryAndContents(void) { ToolkitTestApplication application; - WebView view = WebView::New( "ko-KR", "Asia/Seoul" ); - DALI_TEST_CHECK( view ); + WebView view = WebView::New("ko-KR", "Asia/Seoul"); + DALI_TEST_CHECK(view); std::string html("Hello World!"); std::string basicUri("http://basicurl"); std::string unreachableUrl("http://unreachableurl"); - bool result = view.LoadHtmlStringOverrideCurrentEntry( html, basicUri, unreachableUrl ); - DALI_TEST_CHECK( result ); + bool result = view.LoadHtmlStringOverrideCurrentEntry(html, basicUri, unreachableUrl); + DALI_TEST_CHECK(result); application.SendNotification(); application.Render(); Test::EmitGlobalTimerSignal(); - result = view.LoadContents( html, html.length(), "html/text", "utf-8", basicUri ); - DALI_TEST_CHECK( result ); + result = view.LoadContents(html, html.length(), "html/text", "utf-8", basicUri); + DALI_TEST_CHECK(result); END_TEST; } @@ -1289,37 +1415,37 @@ int UtcDaliWebViewReloadSuspendResumeNetworkLoadingCustomHeader(void) ToolkitTestApplication application; WebView view = WebView::New(); - view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); - view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); - view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 )); - view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) ); + view.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + view.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + view.SetProperty(Actor::Property::SIZE, Vector2(800, 600)); - application.GetScene().Add( view ); + application.GetScene().Add(view); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - view.LoadUrl( "http://test.html" ); + view.LoadUrl("http://test.html"); bool result = view.AddCustomHeader("key", "value"); - DALI_TEST_CHECK( result ); + DALI_TEST_CHECK(result); result = view.ReloadWithoutCache(); - DALI_TEST_CHECK( result ); + DALI_TEST_CHECK(result); uint32_t portNumber = view.StartInspectorServer(5000); - DALI_TEST_EQUALS( portNumber, 5000, TEST_LOCATION ); + DALI_TEST_EQUALS(portNumber, 5000, TEST_LOCATION); application.SendNotification(); application.Render(); Test::EmitGlobalTimerSignal(); result = view.StopInspectorServer(); - DALI_TEST_CHECK( result ); + DALI_TEST_CHECK(result); view.SuspendNetworkLoading(); result = view.RemoveCustomHeader("key"); - DALI_TEST_CHECK( result ); + DALI_TEST_CHECK(result); view.ResumeNetworkLoading(); @@ -1330,15 +1456,15 @@ int UtcDaliWebViewMethodsForCoverage(void) { ToolkitTestApplication application; - WebView view = WebView::New( "ko-KR", "Asia/Seoul" ); + WebView view = WebView::New("ko-KR", "Asia/Seoul"); - view.LoadHtmlString( "Hello World!" ); - view.AddJavaScriptMessageHandler( "jsObject", - []( const std::string& arg ) { - } - ); + view.LoadHtmlString("Hello World!"); + view.AddJavaScriptMessageHandler("jsObject", + [](const std::string& arg) { + }); + view.SetTtsFocus(true); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); END_TEST; } @@ -1350,31 +1476,43 @@ int UtcDaliWebBackForwardListCheckItem(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList(); - DALI_TEST_CHECK( bfList != 0 ) + DALI_TEST_CHECK(bfList != 0) unsigned int itemCount = bfList->GetItemCount(); - DALI_TEST_CHECK( itemCount == 1 ) + DALI_TEST_CHECK(itemCount == 1) - Dali::Toolkit::WebBackForwardListItem* citem = bfList->GetCurrentItem(); - DALI_TEST_CHECK( citem != 0 ); + std::unique_ptr citem = bfList->GetCurrentItem(); + DALI_TEST_CHECK(citem != 0); - const std::string kDefaultUrl( "http://url" ); - std::string testValue = citem->GetUrl(); - DALI_TEST_EQUALS( testValue, kDefaultUrl, TEST_LOCATION ); + std::unique_ptr citemP = bfList->GetPreviousItem(); + DALI_TEST_CHECK(citemP != 0); - const std::string kDefaultTitle( "title" ); + std::unique_ptr citemN = bfList->GetNextItem(); + DALI_TEST_CHECK(citemN != 0); + + const std::string kDefaultUrl("http://url"); + std::string testValue = citem->GetUrl(); + DALI_TEST_EQUALS(testValue, kDefaultUrl, TEST_LOCATION); + + const std::string kDefaultTitle("title"); testValue = citem->GetTitle(); - DALI_TEST_EQUALS( testValue, kDefaultTitle, TEST_LOCATION ); + DALI_TEST_EQUALS(testValue, kDefaultTitle, TEST_LOCATION); - const std::string kDefaultOriginalUrl( "http://originalurl" ); + const std::string kDefaultOriginalUrl("http://originalurl"); testValue = citem->GetOriginalUrl(); - DALI_TEST_EQUALS( testValue, kDefaultOriginalUrl, TEST_LOCATION ); + DALI_TEST_EQUALS(testValue, kDefaultOriginalUrl, TEST_LOCATION); + + std::unique_ptr item = bfList->GetItemAtIndex(0); + DALI_TEST_CHECK(item != 0); + + std::vector> vecBack = bfList->GetBackwardItems(-1); + DALI_TEST_CHECK(vecBack.size() == 1); - Dali::Toolkit::WebBackForwardListItem* item = bfList->GetItemAtIndex( 0 ); - DALI_TEST_CHECK( item != 0 ); + std::vector> vecForward = bfList->GetForwardItems(-1); + DALI_TEST_CHECK(vecForward.size() == 1); END_TEST; } @@ -1386,31 +1524,180 @@ int UtcDaliWebContextGetSetCacheModel(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebContext* context = view.GetContext(); - DALI_TEST_CHECK( context != 0 ) + DALI_TEST_CHECK(context != 0) std::string kDefaultValue; // Reset something - context->SetProxyUri( kDefaultValue ); - context->SetCertificateFilePath( kDefaultValue ); - context->DisableCache( false ); - context->SetDefaultProxyAuth( kDefaultValue, kDefaultValue ); - context->DeleteWebDatabase(); - context->DeleteWebStorage(); + context->SetAppId("id"); + context->SetApplicationType(Dali::WebEngineContext::ApplicationType::OTHER); + context->SetTimeOffset(0); + context->SetTimeZoneOffset(0, 0); + context->SetDefaultProxyAuth(kDefaultValue, kDefaultValue); + context->DeleteAllWebDatabase(); + context->DeleteAllWebStorage(); context->DeleteLocalFileSystem(); context->ClearCache(); + context->DeleteAllFormPasswordData(); + context->DeleteAllFormCandidateData(); // Check default value Dali::WebEngineContext::CacheModel value = context->GetCacheModel(); - DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER ); + DALI_TEST_CHECK(value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER); // Check Set/GetProperty - context->SetCacheModel( Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER ); + context->SetCacheModel(Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER); value = context->GetCacheModel(); - DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER ); + DALI_TEST_CHECK(value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER); + + // Get cache enabled + context->EnableCache(true); + DALI_TEST_CHECK(context->IsCacheEnabled()); + + // Get certificate + context->SetCertificateFilePath("test"); + std::string str = context->GetCertificateFilePath(); + DALI_TEST_EQUALS(str, "test", TEST_LOCATION); + + // Set version + DALI_TEST_CHECK(context->SetAppVersion("test")); + + // Register + std::vector temp; + context->RegisterUrlSchemesAsCorsEnabled(temp); + context->RegisterJsPluginMimeTypes(temp); + context->DeleteFormPasswordDataList(temp); + + // Get zoom factor + context->SetDefaultZoomFactor(1.0f); + DALI_TEST_EQUALS(context->GetDefaultZoomFactor(), float(1.0f), TEST_LOCATION); + + // Delete cache and database + DALI_TEST_CHECK(context->DeleteAllApplicationCache()); + DALI_TEST_CHECK(context->DeleteAllWebIndexedDatabase()); + + // Get contextProxy + context->SetProxyUri("test"); + DALI_TEST_EQUALS(context->GetProxyUri(), "test", TEST_LOCATION); + context->SetProxyBypassRule("", "test"); + DALI_TEST_EQUALS(context->GetProxyBypassRule(), "test", TEST_LOCATION); + + //Notify low memory + DALI_TEST_CHECK(context->FreeUnusedMemory()); + + END_TEST; +} + +int UtcDaliWebContextGetWebDatabaseStorageOrigins(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebContext* context = view.GetContext(); + DALI_TEST_CHECK(context != 0) + + std::string kDefaultValue; + + // get origins of web database + bool result = context->GetWebDatabaseOrigins(&OnSecurityOriginsAcquired); + DALI_TEST_CHECK(result); + + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gSecurityOriginsAcquiredCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_CHECK(gSecurityOriginList.size() == 1); + + Dali::WebEngineSecurityOrigin* origin = gSecurityOriginList[0].get(); + DALI_TEST_CHECK(origin); + + result = context->DeleteWebDatabase(*origin); + DALI_TEST_CHECK(result); + + // get origins of web storage + result = context->GetWebStorageOrigins(&OnSecurityOriginsAcquired); + DALI_TEST_CHECK(result); + + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gSecurityOriginsAcquiredCallbackCalled, 2, TEST_LOCATION); + DALI_TEST_CHECK(gSecurityOriginList.size() == 1); + + origin = gSecurityOriginList[0].get(); + DALI_TEST_CHECK(origin); + + result = context->GetWebStorageUsageForOrigin(*origin, &OnStorageUsageAcquired); + DALI_TEST_CHECK(result); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gStorageUsageAcquiredCallbackCalled, 1, TEST_LOCATION); + + result = context->DeleteWebStorage(*origin); + DALI_TEST_CHECK(result); + + result = context->DeleteApplicationCache(*origin); + DALI_TEST_CHECK(result); + + // form passwords, download state, mime type. + context->GetFormPasswordList(&OnFormPasswordsAcquired); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gFormPasswordsAcquiredCallbackCalled, 1, TEST_LOCATION); + DALI_TEST_CHECK(gPasswordDataList.size() == 1); + DALI_TEST_EQUALS(gPasswordDataList[0]->url, "http://test.html", TEST_LOCATION); + DALI_TEST_CHECK(gPasswordDataList[0]->useFingerprint == false); + + context->RegisterDownloadStartedCallback(&OnDownloadStarted); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gDownloadStartedCallbackCalled, 1, TEST_LOCATION); + + context->RegisterMimeOverriddenCallback(&OnMimeOverridden); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gMimeOverriddenCallbackCalled, 1, TEST_LOCATION); + + gSecurityOriginList.clear(); + gPasswordDataList.clear(); + + END_TEST; +} + +int UtcDaliWebContextHttpRequestInterceptor(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebContext* context = view.GetContext(); + DALI_TEST_CHECK(context != 0) + + // load url. + context->RegisterRequestInterceptedCallback(&OnRequestIntercepted); + DALI_TEST_EQUALS(gRequestInterceptedCallbackCalled, 0, TEST_LOCATION); + DALI_TEST_CHECK(!gRequestInterceptorInstance); + + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gRequestInterceptedCallbackCalled, 1, TEST_LOCATION); + + // check request interceptor. + DALI_TEST_CHECK(gRequestInterceptorInstance); + DALI_TEST_CHECK(gRequestInterceptorInstance->Ignore()); + DALI_TEST_CHECK(gRequestInterceptorInstance->SetResponseStatus(400, "error")); + DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeader("key1", "value1")); + Dali::Property::Map testHeaders; + testHeaders.Insert("key2", "value2"); + DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeaders(testHeaders)); + DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseBody((const int8_t*)"test", 4)); + DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponse("key:value", (const int8_t*)"test", 4)); + DALI_TEST_CHECK(gRequestInterceptorInstance->WriteResponseChunk((const int8_t*)"test", 4)); + std::string testUrl("http://test.html"); + DALI_TEST_EQUALS(gRequestInterceptorInstance->GetUrl(), testUrl, TEST_LOCATION); + std::string testMethod("GET"); + DALI_TEST_EQUALS(gRequestInterceptorInstance->GetMethod(), testMethod, TEST_LOCATION); + Dali::Property::Map resultHeaders = gRequestInterceptorInstance->GetHeaders(); + DALI_TEST_EQUALS(resultHeaders.Count(), 2, TEST_LOCATION); + + gRequestInterceptorInstance = nullptr; END_TEST; } @@ -1422,25 +1709,42 @@ int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager(); - DALI_TEST_CHECK( cookieManager != 0 ) + DALI_TEST_CHECK(cookieManager != 0) const std::string kDefaultValue; // Reset something - cookieManager->SetPersistentStorage( kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE ); + cookieManager->SetPersistentStorage(kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE); cookieManager->ClearCookies(); // Check default value Dali::WebEngineCookieManager::CookieAcceptPolicy value = cookieManager->GetCookieAcceptPolicy(); - DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY ); + DALI_TEST_CHECK(value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY); // Check Set/GetProperty - cookieManager->SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS ); + cookieManager->SetCookieAcceptPolicy(Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS); value = cookieManager->GetCookieAcceptPolicy(); - DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS ); + DALI_TEST_CHECK(value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS); + + END_TEST; +} + +int UtcDaliWebCookieManagerChangesWatch(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager(); + DALI_TEST_CHECK(cookieManager != 0) + + cookieManager->ChangesWatch(&OnChangesWatch); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gCookieManagerChangsWatchCallbackCalled, 1, TEST_LOCATION); END_TEST; } @@ -1452,29 +1756,29 @@ int UtcDaliWebSettingsGetSetDefaultFontSize(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value int value = settings->GetDefaultFontSize(); - DALI_TEST_CHECK( value == 16 ); + DALI_TEST_CHECK(value == 16); // Check Set/GetProperty - settings->SetDefaultFontSize( 20 ); + settings->SetDefaultFontSize(20); value = settings->GetDefaultFontSize(); - DALI_TEST_CHECK( value == 20 ); + DALI_TEST_CHECK(value == 20); END_TEST; } @@ -1484,29 +1788,29 @@ int UtcDaliWebSettingsCheckEnableJavaScript(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsJavaScriptEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->EnableJavaScript( false ); + settings->EnableJavaScript(false); value = settings->IsJavaScriptEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1516,29 +1820,29 @@ int UtcDaliWebSettingsCheckEnableAutoFitting(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsAutoFittingEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->EnableAutoFitting( false ); + settings->EnableAutoFitting(false); value = settings->IsAutoFittingEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1548,29 +1852,29 @@ int UtcDaliWebSettingsCheckEnablePlugins(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->ArePluginsEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->EnablePlugins( false ); + settings->EnablePlugins(false); value = settings->ArePluginsEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1580,29 +1884,29 @@ int UtcDaliWebSettingsCheckEnablePrivateBrowsing(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsPrivateBrowsingEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->EnablePrivateBrowsing( false ); + settings->EnablePrivateBrowsing(false); value = settings->IsPrivateBrowsingEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1612,29 +1916,29 @@ int UtcDaliWebSettingsCheckEnableLinkMagnifier(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsLinkMagnifierEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->EnableLinkMagnifier( false ); + settings->EnableLinkMagnifier(false); value = settings->IsLinkMagnifierEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1644,29 +1948,29 @@ int UtcDaliWebSettingsCheckUseKeypadWithoutUserAction(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsKeypadWithoutUserActionUsed(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->UseKeypadWithoutUserAction( false ); + settings->UseKeypadWithoutUserAction(false); value = settings->IsKeypadWithoutUserActionUsed(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1676,27 +1980,27 @@ int UtcDaliWebSettingsCheckEnableAutofillPasswordForm(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsAutofillPasswordFormEnabled(); - DALI_TEST_CHECK( value ); - settings->EnableAutofillPasswordForm( false ); + DALI_TEST_CHECK(value); + settings->EnableAutofillPasswordForm(false); value = settings->IsAutofillPasswordFormEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1705,29 +2009,29 @@ int UtcDaliWebSettingsCheckEnableFormCandidateData(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsFormCandidateDataEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->EnableFormCandidateData( false ); + settings->EnableFormCandidateData(false); value = settings->IsFormCandidateDataEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1737,29 +2041,29 @@ int UtcDaliWebSettingsCheckEnableTextSelection(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsTextSelectionEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); //Check Set/GetProperty settings->EnableTextSelection(false); value = settings->IsTextSelectionEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1769,29 +2073,29 @@ int UtcDaliWebSettingsCheckEnableTextAutosizing(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsTextAutosizingEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty settings->EnableTextAutosizing(false); value = settings->IsTextAutosizingEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1801,29 +2105,29 @@ int UtcDaliWebSettingsCheckEnableArrowScroll(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsArrowScrollEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty settings->EnableArrowScroll(false); value = settings->IsArrowScrollEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1833,27 +2137,27 @@ int UtcDaliWebSettingsCheckEnableClipboard(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsClipboardEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); settings->EnableClipboard(false); value = settings->IsClipboardEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1862,29 +2166,29 @@ int UtcDaliWebSettingsCheckEnableImePanel(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ); + DALI_TEST_CHECK(settings != 0); // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->IsImePanelEnabled(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty settings->EnableImePanel(false); value = settings->IsImePanelEnabled(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1894,29 +2198,29 @@ int UtcDaliWebSettingsCheckAllowImagesLoadAutomatically(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value is true or not bool value = settings->AreImagesLoadedAutomatically(); - DALI_TEST_CHECK( value ); + DALI_TEST_CHECK(value); // Check Set/GetProperty - settings->AllowImagesLoadAutomatically( false ); + settings->AllowImagesLoadAutomatically(false); value = settings->AreImagesLoadedAutomatically(); - DALI_TEST_CHECK( !value ); + DALI_TEST_CHECK(!value); END_TEST; } @@ -1926,33 +2230,123 @@ int UtcDaliWebSettingsGetSetDefaultTextEncodingName(void) ToolkitTestApplication application; WebView view = WebView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Dali::Toolkit::WebSettings* settings = view.GetSettings(); - DALI_TEST_CHECK( settings != 0 ) + DALI_TEST_CHECK(settings != 0) const std::string kDefaultValue; const std::string kTestValue = "UTF-8"; // Reset something - settings->AllowMixedContents( false ); - settings->EnableSpatialNavigation( false ); - settings->EnableWebSecurity( false ); - settings->EnableCacheBuilder( false ); - settings->EnableDoNotTrack( false ); - settings->UseScrollbarThumbFocusNotifications( false ); - settings->AllowFileAccessFromExternalUrl( false ); - settings->AllowScriptsOpenWindows( false ); + settings->AllowMixedContents(false); + settings->EnableSpatialNavigation(false); + settings->EnableWebSecurity(false); + settings->EnableCacheBuilder(false); + settings->EnableDoNotTrack(false); + settings->UseScrollbarThumbFocusNotifications(false); + settings->AllowFileAccessFromExternalUrl(false); + settings->AllowScriptsOpenWindows(false); // Check default value std::string value = settings->GetDefaultTextEncodingName(); - DALI_TEST_EQUALS( value, kDefaultValue, TEST_LOCATION ); + DALI_TEST_EQUALS(value, kDefaultValue, TEST_LOCATION); // Check Set/GetProperty - settings->SetDefaultTextEncodingName( kTestValue ); + settings->SetDefaultTextEncodingName(kTestValue); value = settings->GetDefaultTextEncodingName(); - DALI_TEST_EQUALS( value, kTestValue, TEST_LOCATION ); + DALI_TEST_EQUALS(value, kTestValue, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliWebSettingsSetViewportMetaTag(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebSettings* settings = view.GetSettings(); + DALI_TEST_CHECK(settings != 0) + + // Check the value is true or not + bool value = settings->SetViewportMetaTag(true); + DALI_TEST_CHECK(value); END_TEST; } +int UtcDaliWebSettingsSetForceZoom(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebSettings* settings = view.GetSettings(); + DALI_TEST_CHECK(settings != 0) + + // Check the value is true or not + bool value = settings->SetForceZoom(true); + DALI_TEST_CHECK(value); + + value = settings->IsZoomForced(); + DALI_TEST_CHECK(value); + + END_TEST; +} + +int UtcDaliWebSettingsSetTextZoomEnabled(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebSettings* settings = view.GetSettings(); + DALI_TEST_CHECK(settings != 0) + + // Check the value is true or not + bool value = settings->SetTextZoomEnabled(true); + DALI_TEST_CHECK(value); + + value = settings->IsTextZoomEnabled(); + DALI_TEST_CHECK(value); + + END_TEST; +} + +int UtcDaliWebSettingsSetExtraFeature(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + Dali::Toolkit::WebSettings* settings = view.GetSettings(); + DALI_TEST_CHECK(settings != 0) + + // Check the value is true or not + settings->SetExtraFeature("test", true); + bool value = settings->IsExtraFeatureEnabled("test"); + DALI_TEST_CHECK(value); + + END_TEST; +} + +int UtcDaliWebViewGetPlainText(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK(view); + + view.LoadUrl(TEST_URL1); + + view.GetPlainTextAsynchronously(&OnPlainTextReceived); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS(gPlainTextReceivedCallbackCalled, 1, TEST_LOCATION); + + END_TEST; +}