2 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include <dali-toolkit-test-suite-utils.h>
22 #include "dali-toolkit-test-utils/toolkit-timer.h"
25 #include <dali/integration-api/events/hover-event-integ.h>
26 #include <dali/integration-api/events/key-event-integ.h>
27 #include <dali/integration-api/events/touch-event-integ.h>
28 #include <dali/integration-api/events/wheel-event-integ.h>
29 #include <dali/public-api/images/pixel-data.h>
30 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
31 #include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
32 #include <dali-toolkit/devel-api/controls/web-view/web-back-forward-list.h>
33 #include <dali-toolkit/devel-api/controls/web-view/web-back-forward-list-item.h>
34 #include <dali-toolkit/devel-api/controls/web-view/web-context.h>
35 #include <dali-toolkit/devel-api/controls/web-view/web-cookie-manager.h>
36 #include <dali-toolkit/devel-api/controls/web-view/web-form-repost-decision.h>
37 #include <dali-toolkit/devel-api/controls/web-view/web-settings.h>
38 #include <dali-toolkit/devel-api/controls/web-view/web-view.h>
41 using namespace Toolkit;
46 const char* const TEST_URL1( "http://www.somewhere.valid1.com" );
47 const char* const TEST_URL2( "http://www.somewhere.valid2.com" );
49 static int gPageLoadStartedCallbackCalled = 0;
50 static int gPageLoadInProgressCallbackCalled = 0;
51 static int gPageLoadFinishedCallbackCalled = 0;
52 static int gScrollEdgeReachedCallbackCalled = 0;
53 static int gUrlChangedCallbackCalled = 0;
54 static int gEvaluateJavaScriptCallbackCalled = 0;
55 static int gJavaScriptAlertCallbackCalled = 0;
56 static int gJavaScriptConfirmCallbackCalled = 0;
57 static int gJavaScriptPromptCallbackCalled = 0;
58 static int gScreenshotCapturedCallbackCalled = 0;
59 static int gVideoPlayingCallbackCalled = 0;
60 static int gGeolocationPermissionCallbackCalled = 0;
61 static bool gTouched = false;
62 static bool gHovered = false;
63 static bool gWheelEventHandled = false;
64 static int gFormRepostDecisionCallbackCalled = 0;
65 static std::shared_ptr<Dali::Toolkit::WebFormRepostDecision> gFormRepostDecisionInstance;
66 static int gFrameRenderedCallbackCalled = 0;
68 struct CallbackFunctor
70 CallbackFunctor(bool* callbackFlag)
71 : mCallbackFlag( callbackFlag )
77 *mCallbackFlag = true;
82 static void OnPageLoadStarted( WebView view, const std::string& url )
84 gPageLoadStartedCallbackCalled++;
87 static void OnPageLoadInProgress( WebView view, const std::string& url )
89 gPageLoadInProgressCallbackCalled++;
92 static void OnPageLoadFinished( WebView view, const std::string& url )
94 gPageLoadFinishedCallbackCalled++;
97 static void OnScrollEdgeReached( WebView view, Dali::WebEnginePlugin::ScrollEdge edge )
99 gScrollEdgeReachedCallbackCalled++;
102 static void OnUrlChanged( WebView view, const std::string& url )
104 gUrlChangedCallbackCalled++;
107 static void OnPageLoadError( WebView view, const std::string& url, WebView::LoadErrorCode errorCode )
111 static void OnEvaluateJavaScript( const std::string& result )
113 gEvaluateJavaScriptCallbackCalled++;
116 static bool OnJavaScriptAlert( const std::string& result )
118 gJavaScriptAlertCallbackCalled++;
122 static bool OnJavaScriptConfirm( const std::string& result )
124 gJavaScriptConfirmCallbackCalled++;
128 static bool OnJavaScriptPrompt( const std::string& meesage1, const std::string& message2 )
130 gJavaScriptPromptCallbackCalled++;
134 static void OnScreenshotCaptured(Dali::Toolkit::ImageView)
136 gScreenshotCapturedCallbackCalled++;
\r
139 static void OnVideoPlaying(bool isPlaying)
141 gVideoPlayingCallbackCalled++;
144 static bool OnGeolocationPermission(const std::string&, const std::string&)
146 gGeolocationPermissionCallbackCalled++;
150 static bool OnTouched( Actor actor, const Dali::TouchEvent& touch )
156 static bool OnHovered( Actor actor, const Dali::HoverEvent& hover )
162 static bool OnWheelEvent( Actor actor, const Dali::WheelEvent& wheel )
164 gWheelEventHandled = true;
168 static void OnFormRepostDecision(WebView, std::shared_ptr<Dali::Toolkit::WebFormRepostDecision> decision)
170 gFormRepostDecisionCallbackCalled++;
171 gFormRepostDecisionInstance = decision;
174 static void OnFrameRendered(WebView)
176 gFrameRenderedCallbackCalled++;
181 void web_view_startup(void)
183 test_return_value = TET_UNDEF;
186 void web_view_cleanup(void)
188 test_return_value = TET_PASS;
191 int UtcDaliWebViewBasics(void)
193 ToolkitTestApplication application;
195 // Copy and Assignment Test
196 tet_infoline( "UtcDaliWebViewBasic Copy and Assignment Test" );
197 WebView view = WebView::New();
198 DALI_TEST_CHECK( view );
200 WebView copy( view );
201 DALI_TEST_CHECK( view == copy );
204 DALI_TEST_CHECK( !assign );
207 DALI_TEST_CHECK( assign == view );
211 tet_infoline( "UtcDaliWebViewBasic DownCast Test" );
212 BaseHandle handle(view);
214 WebView view2 = WebView::DownCast( handle );
215 DALI_TEST_CHECK( view );
216 DALI_TEST_CHECK( view2 );
217 DALI_TEST_CHECK( view == view2 );
221 tet_infoline( "UtcDaliWebViewBasic TypeRegistry Test" );
222 TypeRegistry typeRegistry = TypeRegistry::Get();
223 DALI_TEST_CHECK( typeRegistry );
225 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "WebView" );
226 DALI_TEST_CHECK( typeInfo );
228 BaseHandle handle2 = typeInfo.CreateInstance();
229 DALI_TEST_CHECK( handle2 );
231 WebView view3 = WebView::DownCast( handle2 );
232 DALI_TEST_CHECK( view3 );
237 int UtcDaliWebViewPageNavigation(void)
239 ToolkitTestApplication application;
241 WebView view = WebView::New();
242 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
243 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
244 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
245 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
246 application.GetScene().Add( view );
247 application.SendNotification();
248 application.Render();
249 DALI_TEST_CHECK( view );
251 ConnectionTracker* testTracker = new ConnectionTracker();
252 view.PageLoadStartedSignal().Connect( &OnPageLoadStarted );
253 view.PageLoadInProgressSignal().Connect( &OnPageLoadInProgress );
254 view.PageLoadFinishedSignal().Connect( &OnPageLoadFinished );
255 view.PageLoadErrorSignal().Connect( &OnPageLoadError );
256 view.UrlChangedSignal().Connect( &OnUrlChanged );
257 bool signal1 = false;
258 bool signal2 = false;
259 bool signal3 = false;
260 bool signal4 = false;
261 bool signal5 = false;
262 view.ConnectSignal( testTracker, "pageLoadStarted", CallbackFunctor(&signal1) );
263 view.ConnectSignal( testTracker, "pageLoadInProgress", CallbackFunctor(&signal2) );
264 view.ConnectSignal( testTracker, "pageLoadFinished", CallbackFunctor(&signal3) );
265 view.ConnectSignal( testTracker, "urlChanged", CallbackFunctor(&signal4) );
266 view.ConnectSignal( testTracker, "invalidname", CallbackFunctor(&signal5) );
267 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 0, TEST_LOCATION );
268 DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 0, TEST_LOCATION );
269 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION );
270 DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 0, TEST_LOCATION );
272 view.LoadUrl( TEST_URL1 );
273 view.GetNaturalSize();
274 Test::EmitGlobalTimerSignal();
275 DALI_TEST_EQUALS( view.CanGoBack(), false, TEST_LOCATION );
276 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 1, TEST_LOCATION );
277 DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 1, TEST_LOCATION );
278 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION );
279 DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 1, TEST_LOCATION );
280 DALI_TEST_CHECK( signal1 & signal2 & signal3 & signal4 );
281 DALI_TEST_CHECK( !signal5 );
283 view.LoadUrl( TEST_URL2 );
285 view.SetProperty( Actor::Property::SIZE, Vector2( 400, 300 ) );
286 application.SendNotification();
287 application.Render();
288 Test::EmitGlobalTimerSignal();
290 DALI_TEST_EQUALS( view.CanGoBack(), true, TEST_LOCATION );
291 DALI_TEST_EQUALS( view.CanGoForward(), false, TEST_LOCATION );
292 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 2, TEST_LOCATION );
293 DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 2, TEST_LOCATION );
294 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION );
295 DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 2, TEST_LOCATION );
298 Test::EmitGlobalTimerSignal();
299 DALI_TEST_CHECK( !view.CanGoBack() );
300 DALI_TEST_CHECK( view.CanGoForward() );
303 Test::EmitGlobalTimerSignal();
304 DALI_TEST_CHECK( view.CanGoBack() );
305 DALI_TEST_CHECK( !view.CanGoForward() );
310 Test::EmitGlobalTimerSignal();
311 DALI_TEST_CHECK( !view.CanGoBack() );
312 DALI_TEST_CHECK( !view.CanGoForward() );
317 int UtcDaliWebViewTouchAndKeys(void)
319 ToolkitTestApplication application;
321 WebView view = WebView::New();
322 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
323 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
324 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
325 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
327 application.GetScene().Add( view );
328 application.SendNotification();
329 application.Render();
331 view.GetNaturalSize();
332 view.TouchedSignal().Connect( &OnTouched );
335 Dali::Integration::TouchEvent event;
336 Dali::Integration::Point pointDown, pointUp;
338 event = Dali::Integration::TouchEvent();
339 pointDown.SetState( PointState::DOWN );
340 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
341 event.AddPoint( pointDown );
342 application.ProcessEvent( event );
344 event = Dali::Integration::TouchEvent();
345 pointUp.SetState( PointState::UP );
346 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
347 event.AddPoint( pointUp );
348 application.ProcessEvent( event );
351 Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( view );
352 application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
353 application.SendNotification();
355 DALI_TEST_CHECK( gTouched );
356 DALI_TEST_CHECK( view );
361 int UtcDaliWebViewFocusGainedAndLost(void)
363 ToolkitTestApplication application;
365 WebView view = WebView::New();
366 DALI_TEST_CHECK( view );
368 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
369 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
370 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
371 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
373 application.GetScene().Add( view );
374 application.SendNotification();
375 application.Render();
377 view.SetKeyInputFocus();
378 DALI_TEST_CHECK( view.HasKeyInputFocus() );
381 view.ClearKeyInputFocus();
382 DALI_TEST_CHECK( !view.HasKeyInputFocus() );
387 int UtcDaliWebViewPropertyPageZoomFactor(void)
389 ToolkitTestApplication application;
391 WebView view = WebView::New();
392 DALI_TEST_CHECK( view );
394 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
395 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
396 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
397 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
399 application.GetScene().Add( view );
400 application.SendNotification();
401 application.Render();
403 view.SetProperty( WebView::Property::PAGE_ZOOM_FACTOR, 1.5f);
404 float zoomFactor = view.GetProperty<float>( WebView::Property::PAGE_ZOOM_FACTOR );
405 DALI_TEST_EQUALS( zoomFactor, 1.5f, TEST_LOCATION );
407 view.SetProperty( WebView::Property::PAGE_ZOOM_FACTOR, 1.0f);
408 zoomFactor = view.GetProperty<float>( WebView::Property::PAGE_ZOOM_FACTOR );
409 DALI_TEST_EQUALS( zoomFactor, 1.0f, TEST_LOCATION );
414 int UtcDaliWebViewPropertyTextZoomFactor(void)
416 ToolkitTestApplication application;
418 WebView view = WebView::New();
419 DALI_TEST_CHECK( view );
421 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
422 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
423 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
424 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
426 application.GetScene().Add( view );
427 application.SendNotification();
428 application.Render();
430 view.SetProperty( WebView::Property::TEXT_ZOOM_FACTOR, 1.5f);
431 float zoomFactor = view.GetProperty<float>( WebView::Property::TEXT_ZOOM_FACTOR );
432 DALI_TEST_EQUALS( zoomFactor, 1.5f, TEST_LOCATION );
434 view.SetProperty( WebView::Property::TEXT_ZOOM_FACTOR, 1.0f);
435 zoomFactor = view.GetProperty<float>( WebView::Property::TEXT_ZOOM_FACTOR );
436 DALI_TEST_EQUALS( zoomFactor, 1.0f, TEST_LOCATION );
441 int UtcDaliWebViewPropertyLoadProgressPercentage(void)
443 ToolkitTestApplication application;
445 WebView view = WebView::New();
446 DALI_TEST_CHECK( view );
448 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
449 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
450 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
451 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
453 application.GetScene().Add( view );
454 application.SendNotification();
455 application.Render();
457 float percentage = view.GetProperty<float>( WebView::Property::LOAD_PROGRESS_PERCENTAGE );
458 DALI_TEST_EQUALS( percentage, 0.5f, TEST_LOCATION );
463 int UtcDaliWebViewMove(void)
465 ToolkitTestApplication application;
467 WebView view = WebView::New();
468 DALI_TEST_CHECK( view );
470 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
471 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
472 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
473 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
475 application.GetScene().Add( view );
476 application.SendNotification();
477 application.Render();
479 view.SetProperty( Actor::Property::POSITION, Vector2( 100, 100 ));
480 Vector3 viewPos = view.GetProperty<Vector3>( Actor::Property::POSITION );
481 DALI_TEST_EQUALS( viewPos, Vector3( 100, 100, 0 ), TEST_LOCATION );
486 int UtcDaliWebViewPropertyVideoHoleEnabled(void)
488 ToolkitTestApplication application;
490 WebView view = WebView::New();
491 DALI_TEST_CHECK( view );
493 const bool kDefaultValue = true;
494 const bool kTestValue = false;
496 // Check default value
498 Property::Value value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
499 DALI_TEST_CHECK( value.Get( output ) );
500 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
502 // Check Set/GetProperty
503 view.SetProperty( WebView::Property::VIDEO_HOLE_ENABLED, kTestValue );
504 value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
505 DALI_TEST_CHECK( value.Get( output ) );
506 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
511 int UtcDaliWebViewPropertyMouseEventsEnabled(void)
513 ToolkitTestApplication application;
515 WebView view = WebView::New();
516 DALI_TEST_CHECK( view );
518 const bool kDefaultValue = true;
519 const bool kTestValue = false;
521 // Check default value
523 Property::Value value = view.GetProperty( WebView::Property::MOUSE_EVENTS_ENABLED );
524 DALI_TEST_CHECK( value.Get( output ) );
525 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
527 // Check Set/GetProperty
528 view.SetProperty( WebView::Property::MOUSE_EVENTS_ENABLED, kTestValue );
529 value = view.GetProperty( WebView::Property::MOUSE_EVENTS_ENABLED );
530 DALI_TEST_CHECK( value.Get( output ) );
531 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
536 int UtcDaliWebViewPropertyKeyEventsEnabled(void)
538 ToolkitTestApplication application;
540 WebView view = WebView::New();
541 DALI_TEST_CHECK( view );
543 const bool kDefaultValue = true;
544 const bool kTestValue = false;
546 // Check default value
548 Property::Value value = view.GetProperty( WebView::Property::KEY_EVENTS_ENABLED );
549 DALI_TEST_CHECK( value.Get( output ) );
550 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
552 // Check Set/GetProperty
553 view.SetProperty( WebView::Property::KEY_EVENTS_ENABLED, kTestValue );
554 value = view.GetProperty( WebView::Property::KEY_EVENTS_ENABLED );
555 DALI_TEST_CHECK( value.Get( output ) );
556 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
561 int UtcDaliWebViewHoverAndWheel(void)
563 ToolkitTestApplication application;
565 WebView view = WebView::New();
566 DALI_TEST_CHECK( view );
567 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
568 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
569 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
570 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
572 application.GetScene().Add( view );
573 application.SendNotification();
574 application.Render();
576 view.GetNaturalSize();
577 view.HoveredSignal().Connect( &OnHovered );
578 view.WheelEventSignal().Connect( &OnWheelEvent );
581 Dali::Integration::HoverEvent event = Dali::Integration::HoverEvent();
582 Dali::Integration::Point pointDown;
583 pointDown.SetState( PointState::DOWN );
584 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
585 event.AddPoint( pointDown );
586 application.ProcessEvent( event );
588 event = Dali::Integration::HoverEvent();
589 Dali::Integration::Point pointUp;
590 pointUp.SetState( PointState::UP );
591 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
592 event.AddPoint( pointUp );
593 application.ProcessEvent( event );
595 event = Dali::Integration::HoverEvent();
596 Dali::Integration::Point pointMotion;
597 pointUp.SetState( PointState::MOTION );
598 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
599 event.AddPoint( pointMotion );
600 application.ProcessEvent( event );
603 Dali::Integration::WheelEvent wheelEvent;
604 wheelEvent.type = Dali::Integration::WheelEvent::Type::MOUSE_WHEEL;
605 wheelEvent.direction = 0;
606 wheelEvent.point = Vector2( 20, 20 );
607 wheelEvent.delta = 10;
608 application.ProcessEvent( wheelEvent );
609 application.SendNotification();
611 DALI_TEST_CHECK( gHovered );
612 DALI_TEST_CHECK( gWheelEventHandled );
617 int UtcDaliWebViewFormRepostDecisionFrameRendering(void)
619 ToolkitTestApplication application;
621 WebView view = WebView::New();
622 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
623 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
624 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
625 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
626 application.GetScene().Add( view );
627 application.SendNotification();
628 application.Render();
629 DALI_TEST_CHECK( view );
631 ConnectionTracker* testTracker = new ConnectionTracker();
632 view.FormRepostDecisionSignal().Connect(&OnFormRepostDecision);
633 view.FrameRenderedSignal().Connect(&OnFrameRendered);
634 bool signal1 = false;
635 bool signal2 = false;
636 view.ConnectSignal( testTracker, "formRepostDecision", CallbackFunctor(&signal1) );
637 view.ConnectSignal( testTracker, "frameRendered", CallbackFunctor(&signal2) );
638 DALI_TEST_EQUALS( gFormRepostDecisionCallbackCalled, 0, TEST_LOCATION );
639 DALI_TEST_EQUALS( gFrameRenderedCallbackCalled, 0, TEST_LOCATION );
641 view.LoadUrl( TEST_URL1 );
642 Test::EmitGlobalTimerSignal();
643 DALI_TEST_EQUALS( gFormRepostDecisionCallbackCalled, 1, TEST_LOCATION );
644 DALI_TEST_EQUALS( gFrameRenderedCallbackCalled, 1, TEST_LOCATION );
645 DALI_TEST_CHECK( signal1 & signal2);
647 // form repost decision.
648 DALI_TEST_CHECK(gFormRepostDecisionInstance);
649 gFormRepostDecisionInstance->Reply(true);
652 gFormRepostDecisionInstance = nullptr;
657 int UtcDaliWebViewGetWebBackForwardList(void)
659 ToolkitTestApplication application;
661 WebView view = WebView::New();
662 DALI_TEST_CHECK( view );
664 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
665 DALI_TEST_CHECK( bfList != 0 );
670 int UtcDaliWebViewGetWebContext(void)
672 ToolkitTestApplication application;
674 WebView view = WebView::New();
675 DALI_TEST_CHECK( view );
677 Dali::Toolkit::WebContext* context = view.GetContext();
678 DALI_TEST_CHECK( context != 0 );
683 int UtcDaliWebViewGetWebCookieManager(void)
685 ToolkitTestApplication application;
687 WebView view = WebView::New();
688 DALI_TEST_CHECK( view );
690 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
691 DALI_TEST_CHECK( cookieManager != 0 );
696 int UtcDaliWebViewGetWebSettings(void)
698 ToolkitTestApplication application;
700 WebView view = WebView::New();
701 DALI_TEST_CHECK( view );
703 Dali::Toolkit::WebSettings* settings = view.GetSettings();
704 DALI_TEST_CHECK( settings != 0 );
709 int UtcDaliWebViewProperty1(void)
712 ToolkitTestApplication application;
714 WebView view = WebView::New();
715 DALI_TEST_CHECK( view );
718 view.SetProperty( WebView::Property::URL, TEST_URL1 );
719 Property::Value val = view.GetProperty( WebView::Property::URL );
720 DALI_TEST_CHECK( val.Get( local ) );
721 DALI_TEST_EQUALS( local, TEST_URL1, TEST_LOCATION );
726 int UtcDaliWebViewProperty4(void)
729 ToolkitTestApplication application;
731 WebView view = WebView::New();
732 DALI_TEST_CHECK( view );
734 const std::string kDefaultValue;
735 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";
737 // Check default value
739 Property::Value value = view.GetProperty( WebView::Property::USER_AGENT );
740 DALI_TEST_CHECK( value.Get( output ) );
741 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
743 // Check Set/GetProperty
744 view.SetProperty( WebView::Property::USER_AGENT, kTestValue );
745 value = view.GetProperty( WebView::Property::USER_AGENT );
746 DALI_TEST_CHECK( value.Get( output ) );
747 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
752 int UtcDaliWebViewProperty9(void)
755 ToolkitTestApplication application;
757 WebView view = WebView::New();
758 DALI_TEST_CHECK( view );
760 // Check default value
761 Dali::Vector2 output = Dali::Vector2::ONE;
762 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
763 DALI_TEST_CHECK( output.x == 0 && output.y == 0 );
765 // Check Set/GetProperty
766 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
767 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
768 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
769 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
771 // Check default value of scroll size
772 output = Dali::Vector2::ONE;
773 view.GetProperty( WebView::Property::SCROLL_SIZE ).Get( output );
774 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
776 // Check default value of content size
777 output = Dali::Vector2::ONE;
778 view.GetProperty( WebView::Property::CONTENT_SIZE ).Get( output );
779 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
784 int UtcDaliWebViewPropertyBackgroundColorSelectedTextEtc(void)
786 ToolkitTestApplication application;
788 WebView view = WebView::New();
789 DALI_TEST_CHECK( view );
791 Dali::Vector4 testValue = Dali::Vector4(0.0f, 0.0f, 0.0f, 0.0f);
792 view.SetProperty(WebView::Property::DOCUMENT_BACKGROUND_COLOR, testValue);
793 view.SetProperty(WebView::Property::TILES_CLEARED_WHEN_HIDDEN, true);
794 view.SetProperty(WebView::Property::TILE_COVER_AREA_MULTIPLIER, 1.0f);
795 view.SetProperty(WebView::Property::CURSOR_ENABLED_BY_CLIENT, true);
797 // Check default value
798 std::string testText("test");
800 view.GetProperty(WebView::Property::SELECTED_TEXT).Get(output);
801 DALI_TEST_EQUALS(output, testText, TEST_LOCATION);
806 int UtcDaliWebViewPropertyTitleFavicon(void)
808 ToolkitTestApplication application;
810 char argv[] = "--test";
811 WebView view = WebView::New( 1, (char**)&argv );
812 DALI_TEST_CHECK( view );
815 view.ClearAllTilesResources();
817 // Check default value of title
818 std::string testValue("title");
820 view.GetProperty( WebView::Property::TITLE ).Get( output );
821 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
823 // Check default value of favicon
824 Dali::Toolkit::ImageView* favicon = &view.GetFavicon();
825 DALI_TEST_CHECK( favicon );
826 Dali::Vector3 iconsize = favicon->GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
827 DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 );
832 int UtcDaliWebViewScrollBy(void)
834 ToolkitTestApplication application;
836 WebView view = WebView::New();
837 DALI_TEST_CHECK( view );
840 ConnectionTracker* testTracker = new ConnectionTracker();
841 view.ScrollEdgeReachedSignal().Connect( &OnScrollEdgeReached );
842 bool signal1 = false;
843 view.ConnectSignal( testTracker, "scrollEdgeReached", CallbackFunctor(&signal1) );
844 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION );
846 view.LoadUrl( TEST_URL1 );
847 Test::EmitGlobalTimerSignal();
849 // set scroll position.
850 Dali::Vector2 output = Dali::Vector2::ONE;
851 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
852 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
853 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
854 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
856 // scroll by and trigger scrollEdgeReached event.
857 view.ScrollBy( 50, 50 );
858 Test::EmitGlobalTimerSignal();
860 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
861 DALI_TEST_CHECK( output.x == 150 && output.y == 150 );
862 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION );
863 DALI_TEST_CHECK( signal1 );
865 // scroll by and trigger scrollEdgeReached event.
866 bool result = view.ScrollEdgeBy( 50, 50 );
867 DALI_TEST_CHECK( result );
868 Test::EmitGlobalTimerSignal();
870 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
871 DALI_TEST_CHECK( output.x == 200 && output.y == 200 );
872 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 2, TEST_LOCATION );
873 DALI_TEST_CHECK( signal1 );
878 int UtcDaliWebViewSetGetScaleFactorActivateAccessibility(void)
880 ToolkitTestApplication application;
882 WebView view = WebView::New();
883 DALI_TEST_CHECK( view );
885 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
886 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
887 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
888 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
890 application.GetScene().Add( view );
891 application.SendNotification();
892 application.Render();
894 view.ActivateAccessibility(true);
895 view.AddDynamicCertificatePath("host", "test/to/path");
896 bool found = view.HighlightText("test", Dali::WebEnginePlugin::FindOption::CASE_INSENSITIVE, 2);
897 DALI_TEST_CHECK( found );
899 view.SetScaleFactor(1.5f, Dali::Vector2(0.0f, 0.0f));
900 float result = view.GetScaleFactor();
901 DALI_TEST_EQUALS( result, 1.5f, TEST_LOCATION );
903 view.SetScaleFactor(1.0f, Dali::Vector2(0.0f, 0.0f));
904 result = view.GetScaleFactor();
905 DALI_TEST_EQUALS( result, 1.0f, TEST_LOCATION );
910 int UtcDaliWebViewGetScreenshotSyncAndAsync(void)
913 ToolkitTestApplication application;
915 char argv[] = "--test";
916 WebView view = WebView::New( 1, (char**)&argv );
917 DALI_TEST_CHECK( view );
919 // Check GetScreenshot
920 Dali::Rect<int> viewArea;
924 viewArea.height = 10;
925 Dali::Toolkit::ImageView screenshot = view.GetScreenshot(viewArea, 1.0f);
926 DALI_TEST_CHECK( screenshot );
927 Dali::Vector3 shotsize = screenshot.GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
928 DALI_TEST_CHECK( ( int )shotsize.width == viewArea.width && ( int )shotsize.height == viewArea.height );
930 // Check GetScreenshotAsynchronously
933 viewArea.width = 100;
934 viewArea.height = 100;
935 bool result = view.GetScreenshotAsynchronously(viewArea, 1.0f, &OnScreenshotCaptured);
936 DALI_TEST_CHECK( result );
938 Test::EmitGlobalTimerSignal();
940 Test::EmitGlobalTimerSignal();
941 DALI_TEST_EQUALS( gScreenshotCapturedCallbackCalled, 1, TEST_LOCATION );
946 int UtcDaliWebViewVideoPlayingGeolocationPermission(void)
949 ToolkitTestApplication application;
951 char argv[] = "--test";
952 WebView view = WebView::New( 1, (char**)&argv );
953 DALI_TEST_CHECK( view );
955 // Check CheckVideoPlayingAsynchronously
956 bool result = view.CheckVideoPlayingAsynchronously(&OnVideoPlaying);
957 DALI_TEST_CHECK( result );
958 Test::EmitGlobalTimerSignal();
959 DALI_TEST_EQUALS( gVideoPlayingCallbackCalled, 1, TEST_LOCATION );
961 // Check RegisterGeolocationPermissionCallback
962 view.RegisterGeolocationPermissionCallback(&OnGeolocationPermission);
963 Test::EmitGlobalTimerSignal();
964 DALI_TEST_EQUALS( gGeolocationPermissionCallbackCalled, 1, TEST_LOCATION );
969 int UtcDaliWebViewEvaluteJavaScript(void)
971 ToolkitTestApplication application;
973 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
975 view.LoadHtmlString( "<body>Hello World!</body>" );
976 view.EvaluateJavaScript( "jsObject.postMessage('Hello')" );
977 view.EvaluateJavaScript( "jsObject.postMessage('World')", OnEvaluateJavaScript );
978 Test::EmitGlobalTimerSignal();
980 DALI_TEST_EQUALS( gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION );
985 int UtcDaliWebViewJavaScriptAlertConfirmPrompt(void)
987 ToolkitTestApplication application;
989 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
991 view.RegisterJavaScriptAlertCallback( &OnJavaScriptAlert );
992 view.LoadHtmlString( "<head><script type='text/javascript'>alert('this is an alert popup.');</script></head><body>Hello World!</body>" );
993 view.JavaScriptAlertReply();
994 Test::EmitGlobalTimerSignal();
995 DALI_TEST_EQUALS( gJavaScriptAlertCallbackCalled, 1, TEST_LOCATION );
997 view.RegisterJavaScriptConfirmCallback( &OnJavaScriptConfirm );
998 view.LoadHtmlString( "<head><script type='text/javascript'>confirm('this is a confirm popup.');</script></head><body>Hello World!</body>" );
999 view.JavaScriptConfirmReply( true );
1000 Test::EmitGlobalTimerSignal();
1001 DALI_TEST_EQUALS( gJavaScriptConfirmCallbackCalled, 1, TEST_LOCATION );
1003 view.RegisterJavaScriptPromptCallback( &OnJavaScriptPrompt );
1004 view.LoadHtmlString( "<head><script type='text/javascript'>prompt('this is a prompt popup.');</script></head><body>Hello World!</body>" );
1005 view.JavaScriptPromptReply( "it is a prompt." );
1006 Test::EmitGlobalTimerSignal();
1007 DALI_TEST_EQUALS( gJavaScriptPromptCallbackCalled, 1, TEST_LOCATION );
1012 int UtcDaliWebViewLoadHtmlStringOverrideCurrentEntryAndContents(void)
1014 ToolkitTestApplication application;
1016 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
1017 DALI_TEST_CHECK( view );
1019 std::string html("<body>Hello World!</body>");
1020 std::string basicUri("http://basicurl");
1021 std::string unreachableUrl("http://unreachableurl");
1022 bool result = view.LoadHtmlStringOverrideCurrentEntry( html, basicUri, unreachableUrl );
1023 DALI_TEST_CHECK( result );
1025 application.SendNotification();
1026 application.Render();
1027 Test::EmitGlobalTimerSignal();
1029 result = view.LoadContents( html, html.length(), "html/text", "utf-8", basicUri );
1030 DALI_TEST_CHECK( result );
1035 int UtcDaliWebViewReloadSuspendResumeNetworkLoadingCustomHeader(void)
1037 ToolkitTestApplication application;
1039 WebView view = WebView::New();
1040 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
1041 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
1042 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
1043 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
1045 application.GetScene().Add( view );
1046 application.SendNotification();
1047 application.Render();
1048 DALI_TEST_CHECK( view );
1050 view.LoadUrl( "http://test.html" );
1051 bool result = view.AddCustomHeader("key", "value");
1052 DALI_TEST_CHECK( result );
1054 result = view.ReloadWithoutCache();
1055 DALI_TEST_CHECK( result );
1057 uint32_t portNumber = view.StartInspectorServer(5000);
1058 DALI_TEST_EQUALS( portNumber, 5000, TEST_LOCATION );
1060 application.SendNotification();
1061 application.Render();
1062 Test::EmitGlobalTimerSignal();
1064 result = view.StopInspectorServer();
1065 DALI_TEST_CHECK( result );
1067 view.SuspendNetworkLoading();
1069 result = view.RemoveCustomHeader("key");
1070 DALI_TEST_CHECK( result );
1072 view.ResumeNetworkLoading();
1077 int UtcDaliWebViewMethodsForCoverage(void)
1079 ToolkitTestApplication application;
1081 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
1083 view.LoadHtmlString( "<body>Hello World!</body>" );
1084 view.AddJavaScriptMessageHandler( "jsObject",
1085 []( const std::string& arg ) {
1089 DALI_TEST_CHECK( view );
1094 // test cases for web backforward list.
1096 int UtcDaliWebBackForwardListCheckItem(void)
1098 ToolkitTestApplication application;
1100 WebView view = WebView::New();
1101 DALI_TEST_CHECK( view );
1103 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
1104 DALI_TEST_CHECK( bfList != 0 )
1106 unsigned int itemCount = bfList->GetItemCount();
1107 DALI_TEST_CHECK( itemCount == 1 )
1109 Dali::Toolkit::WebBackForwardListItem* citem = bfList->GetCurrentItem();
1110 DALI_TEST_CHECK( citem != 0 );
1112 const std::string kDefaultUrl( "http://url" );
1113 std::string testValue = citem->GetUrl();
1114 DALI_TEST_EQUALS( testValue, kDefaultUrl, TEST_LOCATION );
1116 const std::string kDefaultTitle( "title" );
1117 testValue = citem->GetTitle();
1118 DALI_TEST_EQUALS( testValue, kDefaultTitle, TEST_LOCATION );
1120 const std::string kDefaultOriginalUrl( "http://originalurl" );
1121 testValue = citem->GetOriginalUrl();
1122 DALI_TEST_EQUALS( testValue, kDefaultOriginalUrl, TEST_LOCATION );
1124 Dali::Toolkit::WebBackForwardListItem* item = bfList->GetItemAtIndex( 0 );
1125 DALI_TEST_CHECK( item != 0 );
1130 // test cases for web context.
1132 int UtcDaliWebContextGetSetCacheModel(void)
1134 ToolkitTestApplication application;
1136 WebView view = WebView::New();
1137 DALI_TEST_CHECK( view );
1139 Dali::Toolkit::WebContext* context = view.GetContext();
1140 DALI_TEST_CHECK( context != 0 )
1142 std::string kDefaultValue;
1145 context->SetProxyUri( kDefaultValue );
1146 context->SetCertificateFilePath( kDefaultValue );
1147 context->DisableCache( false );
1148 context->SetDefaultProxyAuth( kDefaultValue, kDefaultValue );
1149 context->DeleteWebDatabase();
1150 context->DeleteWebStorage();
1151 context->DeleteLocalFileSystem();
1152 context->ClearCache();
1154 // Check default value
1155 Dali::WebEngineContext::CacheModel value = context->GetCacheModel();
1156 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER );
1158 // Check Set/GetProperty
1159 context->SetCacheModel( Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
1160 value = context->GetCacheModel();
1161 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
1166 // test cases for web cookie manager.
1168 int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void)
1170 ToolkitTestApplication application;
1172 WebView view = WebView::New();
1173 DALI_TEST_CHECK( view );
1175 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
1176 DALI_TEST_CHECK( cookieManager != 0 )
1178 const std::string kDefaultValue;
1181 cookieManager->SetPersistentStorage( kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE );
1182 cookieManager->ClearCookies();
1184 // Check default value
1185 Dali::WebEngineCookieManager::CookieAcceptPolicy value = cookieManager->GetCookieAcceptPolicy();
1186 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY );
1188 // Check Set/GetProperty
1189 cookieManager->SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
1190 value = cookieManager->GetCookieAcceptPolicy();
1191 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
1196 // test cases for web settings.
1198 int UtcDaliWebSettingsGetSetDefaultFontSize(void)
1200 ToolkitTestApplication application;
1202 WebView view = WebView::New();
1203 DALI_TEST_CHECK( view );
1205 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1206 DALI_TEST_CHECK( settings != 0 )
1209 settings->AllowMixedContents( false );
1210 settings->EnableSpatialNavigation( false );
1211 settings->EnableWebSecurity( false );
1212 settings->EnableCacheBuilder( false );
1213 settings->EnableDoNotTrack( false );
1214 settings->UseScrollbarThumbFocusNotifications( false );
1215 settings->AllowFileAccessFromExternalUrl( false );
1216 settings->AllowScriptsOpenWindows( false );
1218 // Check default value
1219 int value = settings->GetDefaultFontSize();
1220 DALI_TEST_CHECK( value == 16 );
1222 // Check Set/GetProperty
1223 settings->SetDefaultFontSize( 20 );
1224 value = settings->GetDefaultFontSize();
1225 DALI_TEST_CHECK( value == 20 );
1230 int UtcDaliWebSettingsCheckEnableJavaScript(void)
1232 ToolkitTestApplication application;
1234 WebView view = WebView::New();
1235 DALI_TEST_CHECK( view );
1237 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1238 DALI_TEST_CHECK( settings != 0 )
1241 settings->AllowMixedContents( false );
1242 settings->EnableSpatialNavigation( false );
1243 settings->EnableWebSecurity( false );
1244 settings->EnableCacheBuilder( false );
1245 settings->EnableDoNotTrack( false );
1246 settings->UseScrollbarThumbFocusNotifications( false );
1247 settings->AllowFileAccessFromExternalUrl( false );
1248 settings->AllowScriptsOpenWindows( false );
1250 // Check default value is true or not
1251 bool value = settings->IsJavaScriptEnabled();
1252 DALI_TEST_CHECK( value );
1254 // Check Set/GetProperty
1255 settings->EnableJavaScript( false );
1256 value = settings->IsJavaScriptEnabled();
1257 DALI_TEST_CHECK( !value );
1262 int UtcDaliWebSettingsCheckEnableAutoFitting(void)
1264 ToolkitTestApplication application;
1266 WebView view = WebView::New();
1267 DALI_TEST_CHECK( view );
1269 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1270 DALI_TEST_CHECK( settings != 0 )
1273 settings->AllowMixedContents( false );
1274 settings->EnableSpatialNavigation( false );
1275 settings->EnableWebSecurity( false );
1276 settings->EnableCacheBuilder( false );
1277 settings->EnableDoNotTrack( false );
1278 settings->UseScrollbarThumbFocusNotifications( false );
1279 settings->AllowFileAccessFromExternalUrl( false );
1280 settings->AllowScriptsOpenWindows( false );
1282 // Check default value is true or not
1283 bool value = settings->IsAutoFittingEnabled();
1284 DALI_TEST_CHECK( value );
1286 // Check Set/GetProperty
1287 settings->EnableAutoFitting( false );
1288 value = settings->IsAutoFittingEnabled();
1289 DALI_TEST_CHECK( !value );
1294 int UtcDaliWebSettingsCheckEnablePlugins(void)
1296 ToolkitTestApplication application;
1298 WebView view = WebView::New();
1299 DALI_TEST_CHECK( view );
1301 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1302 DALI_TEST_CHECK( settings != 0 )
1305 settings->AllowMixedContents( false );
1306 settings->EnableSpatialNavigation( false );
1307 settings->EnableWebSecurity( false );
1308 settings->EnableCacheBuilder( false );
1309 settings->EnableDoNotTrack( false );
1310 settings->UseScrollbarThumbFocusNotifications( false );
1311 settings->AllowFileAccessFromExternalUrl( false );
1312 settings->AllowScriptsOpenWindows( false );
1314 // Check default value is true or not
1315 bool value = settings->ArePluginsEnabled();
1316 DALI_TEST_CHECK( value );
1318 // Check Set/GetProperty
1319 settings->EnablePlugins( false );
1320 value = settings->ArePluginsEnabled();
1321 DALI_TEST_CHECK( !value );
1326 int UtcDaliWebSettingsCheckEnablePrivateBrowsing(void)
1328 ToolkitTestApplication application;
1330 WebView view = WebView::New();
1331 DALI_TEST_CHECK( view );
1333 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1334 DALI_TEST_CHECK( settings != 0 )
1337 settings->AllowMixedContents( false );
1338 settings->EnableSpatialNavigation( false );
1339 settings->EnableWebSecurity( false );
1340 settings->EnableCacheBuilder( false );
1341 settings->EnableDoNotTrack( false );
1342 settings->UseScrollbarThumbFocusNotifications( false );
1343 settings->AllowFileAccessFromExternalUrl( false );
1344 settings->AllowScriptsOpenWindows( false );
1346 // Check default value is true or not
1347 bool value = settings->IsPrivateBrowsingEnabled();
1348 DALI_TEST_CHECK( value );
1350 // Check Set/GetProperty
1351 settings->EnablePrivateBrowsing( false );
1352 value = settings->IsPrivateBrowsingEnabled();
1353 DALI_TEST_CHECK( !value );
1358 int UtcDaliWebSettingsCheckEnableLinkMagnifier(void)
1360 ToolkitTestApplication application;
1362 WebView view = WebView::New();
1363 DALI_TEST_CHECK( view );
1365 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1366 DALI_TEST_CHECK( settings != 0 )
1369 settings->AllowMixedContents( false );
1370 settings->EnableSpatialNavigation( false );
1371 settings->EnableWebSecurity( false );
1372 settings->EnableCacheBuilder( false );
1373 settings->EnableDoNotTrack( false );
1374 settings->UseScrollbarThumbFocusNotifications( false );
1375 settings->AllowFileAccessFromExternalUrl( false );
1376 settings->AllowScriptsOpenWindows( false );
1378 // Check default value is true or not
1379 bool value = settings->IsLinkMagnifierEnabled();
1380 DALI_TEST_CHECK( value );
1382 // Check Set/GetProperty
1383 settings->EnableLinkMagnifier( false );
1384 value = settings->IsLinkMagnifierEnabled();
1385 DALI_TEST_CHECK( !value );
1390 int UtcDaliWebSettingsCheckUseKeypadWithoutUserAction(void)
1392 ToolkitTestApplication application;
1394 WebView view = WebView::New();
1395 DALI_TEST_CHECK( view );
1397 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1398 DALI_TEST_CHECK( settings != 0 )
1401 settings->AllowMixedContents( false );
1402 settings->EnableSpatialNavigation( false );
1403 settings->EnableWebSecurity( false );
1404 settings->EnableCacheBuilder( false );
1405 settings->EnableDoNotTrack( false );
1406 settings->UseScrollbarThumbFocusNotifications( false );
1407 settings->AllowFileAccessFromExternalUrl( false );
1408 settings->AllowScriptsOpenWindows( false );
1410 // Check default value is true or not
1411 bool value = settings->IsKeypadWithoutUserActionUsed();
1412 DALI_TEST_CHECK( value );
1414 // Check Set/GetProperty
1415 settings->UseKeypadWithoutUserAction( false );
1416 value = settings->IsKeypadWithoutUserActionUsed();
1417 DALI_TEST_CHECK( !value );
1422 int UtcDaliWebSettingsCheckEnableAutofillPasswordForm(void)
1424 ToolkitTestApplication application;
1426 WebView view = WebView::New();
1427 DALI_TEST_CHECK( view );
1429 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1430 DALI_TEST_CHECK( settings != 0 )
1433 settings->AllowMixedContents( false );
1434 settings->EnableSpatialNavigation( false );
1435 settings->EnableWebSecurity( false );
1436 settings->EnableCacheBuilder( false );
1437 settings->EnableDoNotTrack( false );
1438 settings->UseScrollbarThumbFocusNotifications( false );
1439 settings->AllowFileAccessFromExternalUrl( false );
1440 settings->AllowScriptsOpenWindows( false );
1442 // Check default value is true or not
1443 bool value = settings->IsAutofillPasswordFormEnabled();
1444 DALI_TEST_CHECK( value );
1445 settings->EnableAutofillPasswordForm( false );
1446 value = settings->IsAutofillPasswordFormEnabled();
1447 DALI_TEST_CHECK( !value );
1451 int UtcDaliWebSettingsCheckEnableFormCandidateData(void)
1453 ToolkitTestApplication application;
1455 WebView view = WebView::New();
1456 DALI_TEST_CHECK( view );
1458 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1459 DALI_TEST_CHECK( settings != 0 );
1462 settings->AllowMixedContents( false );
1463 settings->EnableSpatialNavigation( false );
1464 settings->EnableWebSecurity( false );
1465 settings->EnableCacheBuilder( false );
1466 settings->EnableDoNotTrack( false );
1467 settings->UseScrollbarThumbFocusNotifications( false );
1468 settings->AllowFileAccessFromExternalUrl( false );
1469 settings->AllowScriptsOpenWindows( false );
1471 // Check default value is true or not
1472 bool value = settings->IsFormCandidateDataEnabled();
1473 DALI_TEST_CHECK( value );
1475 // Check Set/GetProperty
1476 settings->EnableFormCandidateData( false );
1477 value = settings->IsFormCandidateDataEnabled();
1478 DALI_TEST_CHECK( !value );
1483 int UtcDaliWebSettingsCheckEnableTextSelection(void)
1485 ToolkitTestApplication application;
1487 WebView view = WebView::New();
1488 DALI_TEST_CHECK( view );
1490 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1491 DALI_TEST_CHECK( settings != 0 );
1494 settings->AllowMixedContents( false );
1495 settings->EnableSpatialNavigation( false );
1496 settings->EnableWebSecurity( false );
1497 settings->EnableCacheBuilder( false );
1498 settings->EnableDoNotTrack( false );
1499 settings->UseScrollbarThumbFocusNotifications( false );
1500 settings->AllowFileAccessFromExternalUrl( false );
1501 settings->AllowScriptsOpenWindows( false );
1503 // Check default value is true or not
1504 bool value = settings->IsTextSelectionEnabled();
1505 DALI_TEST_CHECK( value );
1507 //Check Set/GetProperty
1508 settings->EnableTextSelection(false);
1509 value = settings->IsTextSelectionEnabled();
1510 DALI_TEST_CHECK( !value );
1515 int UtcDaliWebSettingsCheckEnableTextAutosizing(void)
1517 ToolkitTestApplication application;
1519 WebView view = WebView::New();
1520 DALI_TEST_CHECK( view );
1522 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1523 DALI_TEST_CHECK( settings != 0 );
1526 settings->AllowMixedContents( false );
1527 settings->EnableSpatialNavigation( false );
1528 settings->EnableWebSecurity( false );
1529 settings->EnableCacheBuilder( false );
1530 settings->EnableDoNotTrack( false );
1531 settings->UseScrollbarThumbFocusNotifications( false );
1532 settings->AllowFileAccessFromExternalUrl( false );
1533 settings->AllowScriptsOpenWindows( false );
1535 // Check default value is true or not
1536 bool value = settings->IsTextAutosizingEnabled();
1537 DALI_TEST_CHECK( value );
1539 // Check Set/GetProperty
1540 settings->EnableTextAutosizing(false);
1541 value = settings->IsTextAutosizingEnabled();
1542 DALI_TEST_CHECK( !value );
1547 int UtcDaliWebSettingsCheckEnableArrowScroll(void)
1549 ToolkitTestApplication application;
1551 WebView view = WebView::New();
1552 DALI_TEST_CHECK( view );
1554 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1555 DALI_TEST_CHECK( settings != 0 );
1558 settings->AllowMixedContents( false );
1559 settings->EnableSpatialNavigation( false );
1560 settings->EnableWebSecurity( false );
1561 settings->EnableCacheBuilder( false );
1562 settings->EnableDoNotTrack( false );
1563 settings->UseScrollbarThumbFocusNotifications( false );
1564 settings->AllowFileAccessFromExternalUrl( false );
1565 settings->AllowScriptsOpenWindows( false );
1567 // Check default value is true or not
1568 bool value = settings->IsArrowScrollEnabled();
1569 DALI_TEST_CHECK( value );
1571 // Check Set/GetProperty
1572 settings->EnableArrowScroll(false);
1573 value = settings->IsArrowScrollEnabled();
1574 DALI_TEST_CHECK( !value );
1579 int UtcDaliWebSettingsCheckEnableClipboard(void)
1581 ToolkitTestApplication application;
1583 WebView view = WebView::New();
1584 DALI_TEST_CHECK( view );
1586 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1587 DALI_TEST_CHECK( settings != 0 );
1590 settings->AllowMixedContents( false );
1591 settings->EnableSpatialNavigation( false );
1592 settings->EnableWebSecurity( false );
1593 settings->EnableCacheBuilder( false );
1594 settings->EnableDoNotTrack( false );
1595 settings->UseScrollbarThumbFocusNotifications( false );
1596 settings->AllowFileAccessFromExternalUrl( false );
1597 settings->AllowScriptsOpenWindows( false );
1599 // Check default value is true or not
1600 bool value = settings->IsClipboardEnabled();
1601 DALI_TEST_CHECK( value );
1602 settings->EnableClipboard(false);
1603 value = settings->IsClipboardEnabled();
1604 DALI_TEST_CHECK( !value );
1608 int UtcDaliWebSettingsCheckEnableImePanel(void)
1610 ToolkitTestApplication application;
1612 WebView view = WebView::New();
1613 DALI_TEST_CHECK( view );
1615 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1616 DALI_TEST_CHECK( settings != 0 );
1619 settings->AllowMixedContents( false );
1620 settings->EnableSpatialNavigation( false );
1621 settings->EnableWebSecurity( false );
1622 settings->EnableCacheBuilder( false );
1623 settings->EnableDoNotTrack( false );
1624 settings->UseScrollbarThumbFocusNotifications( false );
1625 settings->AllowFileAccessFromExternalUrl( false );
1626 settings->AllowScriptsOpenWindows( false );
1628 // Check default value is true or not
1629 bool value = settings->IsImePanelEnabled();
1630 DALI_TEST_CHECK( value );
1632 // Check Set/GetProperty
1633 settings->EnableImePanel(false);
1634 value = settings->IsImePanelEnabled();
1635 DALI_TEST_CHECK( !value );
1640 int UtcDaliWebSettingsCheckAllowImagesLoadAutomatically(void)
1642 ToolkitTestApplication application;
1644 WebView view = WebView::New();
1645 DALI_TEST_CHECK( view );
1647 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1648 DALI_TEST_CHECK( settings != 0 )
1651 settings->AllowMixedContents( false );
1652 settings->EnableSpatialNavigation( false );
1653 settings->EnableWebSecurity( false );
1654 settings->EnableCacheBuilder( false );
1655 settings->EnableDoNotTrack( false );
1656 settings->UseScrollbarThumbFocusNotifications( false );
1657 settings->AllowFileAccessFromExternalUrl( false );
1658 settings->AllowScriptsOpenWindows( false );
1660 // Check default value is true or not
1661 bool value = settings->AreImagesLoadedAutomatically();
1662 DALI_TEST_CHECK( value );
1664 // Check Set/GetProperty
1665 settings->AllowImagesLoadAutomatically( false );
1666 value = settings->AreImagesLoadedAutomatically();
1667 DALI_TEST_CHECK( !value );
1672 int UtcDaliWebSettingsGetSetDefaultTextEncodingName(void)
1674 ToolkitTestApplication application;
1676 WebView view = WebView::New();
1677 DALI_TEST_CHECK( view );
1679 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1680 DALI_TEST_CHECK( settings != 0 )
1682 const std::string kDefaultValue;
1683 const std::string kTestValue = "UTF-8";
1686 settings->AllowMixedContents( false );
1687 settings->EnableSpatialNavigation( false );
1688 settings->EnableWebSecurity( false );
1689 settings->EnableCacheBuilder( false );
1690 settings->EnableDoNotTrack( false );
1691 settings->UseScrollbarThumbFocusNotifications( false );
1692 settings->AllowFileAccessFromExternalUrl( false );
1693 settings->AllowScriptsOpenWindows( false );
1695 // Check default value
1696 std::string value = settings->GetDefaultTextEncodingName();
1697 DALI_TEST_EQUALS( value, kDefaultValue, TEST_LOCATION );
1699 // Check Set/GetProperty
1700 settings->SetDefaultTextEncodingName( kTestValue );
1701 value = settings->GetDefaultTextEncodingName();
1702 DALI_TEST_EQUALS( value, kTestValue, TEST_LOCATION );