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 bool gTouched = false;
59 static bool gHovered = false;
60 static bool gWheelEventHandled = false;
61 static int gFormRepostDecisionCallbackCalled = 0;
62 static std::shared_ptr<Dali::Toolkit::WebFormRepostDecision> gFormRepostDecisionInstance;
63 static int gFrameRenderedCallbackCalled = 0;
65 struct CallbackFunctor
67 CallbackFunctor(bool* callbackFlag)
68 : mCallbackFlag( callbackFlag )
74 *mCallbackFlag = true;
79 static void OnPageLoadStarted( WebView view, const std::string& url )
81 gPageLoadStartedCallbackCalled++;
84 static void OnPageLoadInProgress( WebView view, const std::string& url )
86 gPageLoadInProgressCallbackCalled++;
89 static void OnPageLoadFinished( WebView view, const std::string& url )
91 gPageLoadFinishedCallbackCalled++;
94 static void OnScrollEdgeReached( WebView view, Dali::WebEnginePlugin::ScrollEdge edge )
96 gScrollEdgeReachedCallbackCalled++;
99 static void OnUrlChanged( WebView view, const std::string& url )
101 gUrlChangedCallbackCalled++;
104 static void OnPageLoadError( WebView view, const std::string& url, WebView::LoadErrorCode errorCode )
108 static void OnEvaluateJavaScript( const std::string& result )
110 gEvaluateJavaScriptCallbackCalled++;
113 static bool OnJavaScriptAlert( const std::string& result )
115 gJavaScriptAlertCallbackCalled++;
119 static bool OnJavaScriptConfirm( const std::string& result )
121 gJavaScriptConfirmCallbackCalled++;
125 static bool OnJavaScriptPrompt( const std::string& meesage1, const std::string& message2 )
127 gJavaScriptPromptCallbackCalled++;
131 static bool OnTouched( Actor actor, const Dali::TouchEvent& touch )
137 static bool OnHovered( Actor actor, const Dali::HoverEvent& hover )
143 static bool OnWheelEvent( Actor actor, const Dali::WheelEvent& wheel )
145 gWheelEventHandled = true;
149 static void OnFormRepostDecision(WebView, std::shared_ptr<Dali::Toolkit::WebFormRepostDecision> decision)
151 gFormRepostDecisionCallbackCalled++;
152 gFormRepostDecisionInstance = decision;
155 static void OnFrameRendered(WebView)
157 gFrameRenderedCallbackCalled++;
162 void web_view_startup(void)
164 test_return_value = TET_UNDEF;
167 void web_view_cleanup(void)
169 test_return_value = TET_PASS;
172 int UtcDaliWebViewBasics(void)
174 ToolkitTestApplication application;
176 // Copy and Assignment Test
177 tet_infoline( "UtcDaliWebViewBasic Copy and Assignment Test" );
178 WebView view = WebView::New();
179 DALI_TEST_CHECK( view );
181 WebView copy( view );
182 DALI_TEST_CHECK( view == copy );
185 DALI_TEST_CHECK( !assign );
188 DALI_TEST_CHECK( assign == view );
192 tet_infoline( "UtcDaliWebViewBasic DownCast Test" );
193 BaseHandle handle(view);
195 WebView view2 = WebView::DownCast( handle );
196 DALI_TEST_CHECK( view );
197 DALI_TEST_CHECK( view2 );
198 DALI_TEST_CHECK( view == view2 );
202 tet_infoline( "UtcDaliWebViewBasic TypeRegistry Test" );
203 TypeRegistry typeRegistry = TypeRegistry::Get();
204 DALI_TEST_CHECK( typeRegistry );
206 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "WebView" );
207 DALI_TEST_CHECK( typeInfo );
209 BaseHandle handle2 = typeInfo.CreateInstance();
210 DALI_TEST_CHECK( handle2 );
212 WebView view3 = WebView::DownCast( handle2 );
213 DALI_TEST_CHECK( view3 );
218 int UtcDaliWebViewPageNavigation(void)
220 ToolkitTestApplication application;
222 WebView view = WebView::New();
223 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
224 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
225 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
226 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
227 application.GetScene().Add( view );
228 application.SendNotification();
229 application.Render();
230 DALI_TEST_CHECK( view );
232 ConnectionTracker* testTracker = new ConnectionTracker();
233 view.PageLoadStartedSignal().Connect( &OnPageLoadStarted );
234 view.PageLoadInProgressSignal().Connect( &OnPageLoadInProgress );
235 view.PageLoadFinishedSignal().Connect( &OnPageLoadFinished );
236 view.PageLoadErrorSignal().Connect( &OnPageLoadError );
237 view.UrlChangedSignal().Connect( &OnUrlChanged );
238 bool signal1 = false;
239 bool signal2 = false;
240 bool signal3 = false;
241 bool signal4 = false;
242 bool signal5 = false;
243 view.ConnectSignal( testTracker, "pageLoadStarted", CallbackFunctor(&signal1) );
244 view.ConnectSignal( testTracker, "pageLoadInProgress", CallbackFunctor(&signal2) );
245 view.ConnectSignal( testTracker, "pageLoadFinished", CallbackFunctor(&signal3) );
246 view.ConnectSignal( testTracker, "urlChanged", CallbackFunctor(&signal4) );
247 view.ConnectSignal( testTracker, "invalidname", CallbackFunctor(&signal5) );
248 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 0, TEST_LOCATION );
249 DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 0, TEST_LOCATION );
250 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION );
251 DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 0, TEST_LOCATION );
253 view.LoadUrl( TEST_URL1 );
254 view.GetNaturalSize();
255 Test::EmitGlobalTimerSignal();
256 DALI_TEST_EQUALS( view.CanGoBack(), false, TEST_LOCATION );
257 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 1, TEST_LOCATION );
258 DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 1, TEST_LOCATION );
259 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION );
260 DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 1, TEST_LOCATION );
261 DALI_TEST_CHECK( signal1 & signal2 & signal3 & signal4 );
262 DALI_TEST_CHECK( !signal5 );
264 view.LoadUrl( TEST_URL2 );
266 view.SetProperty( Actor::Property::SIZE, Vector2( 400, 300 ) );
267 application.SendNotification();
268 application.Render();
269 Test::EmitGlobalTimerSignal();
271 DALI_TEST_EQUALS( view.CanGoBack(), true, TEST_LOCATION );
272 DALI_TEST_EQUALS( view.CanGoForward(), false, TEST_LOCATION );
273 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 2, TEST_LOCATION );
274 DALI_TEST_EQUALS( gPageLoadInProgressCallbackCalled, 2, TEST_LOCATION );
275 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION );
276 DALI_TEST_EQUALS( gUrlChangedCallbackCalled, 2, TEST_LOCATION );
279 Test::EmitGlobalTimerSignal();
280 DALI_TEST_CHECK( !view.CanGoBack() );
281 DALI_TEST_CHECK( view.CanGoForward() );
284 Test::EmitGlobalTimerSignal();
285 DALI_TEST_CHECK( view.CanGoBack() );
286 DALI_TEST_CHECK( !view.CanGoForward() );
291 Test::EmitGlobalTimerSignal();
292 DALI_TEST_CHECK( !view.CanGoBack() );
293 DALI_TEST_CHECK( !view.CanGoForward() );
298 int UtcDaliWebViewTouchAndKeys(void)
300 ToolkitTestApplication application;
302 WebView view = WebView::New();
303 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
304 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
305 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
306 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
308 application.GetScene().Add( view );
309 application.SendNotification();
310 application.Render();
312 view.GetNaturalSize();
313 view.TouchedSignal().Connect( &OnTouched );
316 Dali::Integration::TouchEvent event;
317 Dali::Integration::Point pointDown, pointUp;
319 event = Dali::Integration::TouchEvent();
320 pointDown.SetState( PointState::DOWN );
321 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
322 event.AddPoint( pointDown );
323 application.ProcessEvent( event );
325 event = Dali::Integration::TouchEvent();
326 pointUp.SetState( PointState::UP );
327 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
328 event.AddPoint( pointUp );
329 application.ProcessEvent( event );
332 Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( view );
333 application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
334 application.SendNotification();
336 DALI_TEST_CHECK( gTouched );
337 DALI_TEST_CHECK( view );
342 int UtcDaliWebViewFocusGainedAndLost(void)
344 ToolkitTestApplication application;
346 WebView view = WebView::New();
347 DALI_TEST_CHECK( view );
349 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
350 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
351 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
352 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
354 application.GetScene().Add( view );
355 application.SendNotification();
356 application.Render();
358 view.SetKeyInputFocus();
359 DALI_TEST_CHECK( view.HasKeyInputFocus() );
362 view.ClearKeyInputFocus();
363 DALI_TEST_CHECK( !view.HasKeyInputFocus() );
368 int UtcDaliWebViewMove(void)
370 ToolkitTestApplication application;
372 WebView view = WebView::New();
373 DALI_TEST_CHECK( view );
375 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
376 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
377 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
378 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
380 application.GetScene().Add( view );
381 application.SendNotification();
382 application.Render();
384 view.SetProperty( Actor::Property::POSITION, Vector2( 100, 100 ));
385 Vector3 viewPos = view.GetProperty<Vector3>( Actor::Property::POSITION );
386 DALI_TEST_EQUALS( viewPos, Vector3( 100, 100, 0 ), TEST_LOCATION );
391 int UtcDaliWebViewPropertyVideoHoleEnabled(void)
393 ToolkitTestApplication application;
395 WebView view = WebView::New();
396 DALI_TEST_CHECK( view );
398 const bool kDefaultValue = true;
399 const bool kTestValue = false;
401 // Check default value
403 Property::Value value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
404 DALI_TEST_CHECK( value.Get( output ) );
405 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
407 // Check Set/GetProperty
408 view.SetProperty( WebView::Property::VIDEO_HOLE_ENABLED, kTestValue );
409 value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
410 DALI_TEST_CHECK( value.Get( output ) );
411 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
416 int UtcDaliWebViewPropertyMouseEventsEnabled(void)
418 ToolkitTestApplication application;
420 WebView view = WebView::New();
421 DALI_TEST_CHECK( view );
423 const bool kDefaultValue = true;
424 const bool kTestValue = false;
426 // Check default value
428 Property::Value value = view.GetProperty( WebView::Property::MOUSE_EVENTS_ENABLED );
429 DALI_TEST_CHECK( value.Get( output ) );
430 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
432 // Check Set/GetProperty
433 view.SetProperty( WebView::Property::MOUSE_EVENTS_ENABLED, kTestValue );
434 value = view.GetProperty( WebView::Property::MOUSE_EVENTS_ENABLED );
435 DALI_TEST_CHECK( value.Get( output ) );
436 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
441 int UtcDaliWebViewPropertyKeyEventsEnabled(void)
443 ToolkitTestApplication application;
445 WebView view = WebView::New();
446 DALI_TEST_CHECK( view );
448 const bool kDefaultValue = true;
449 const bool kTestValue = false;
451 // Check default value
453 Property::Value value = view.GetProperty( WebView::Property::KEY_EVENTS_ENABLED );
454 DALI_TEST_CHECK( value.Get( output ) );
455 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
457 // Check Set/GetProperty
458 view.SetProperty( WebView::Property::KEY_EVENTS_ENABLED, kTestValue );
459 value = view.GetProperty( WebView::Property::KEY_EVENTS_ENABLED );
460 DALI_TEST_CHECK( value.Get( output ) );
461 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
466 int UtcDaliWebViewHoverAndWheel(void)
468 ToolkitTestApplication application;
470 WebView view = WebView::New();
471 DALI_TEST_CHECK( view );
472 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
473 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
474 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
475 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
477 application.GetScene().Add( view );
478 application.SendNotification();
479 application.Render();
481 view.GetNaturalSize();
482 view.HoveredSignal().Connect( &OnHovered );
483 view.WheelEventSignal().Connect( &OnWheelEvent );
486 Dali::Integration::HoverEvent event = Dali::Integration::HoverEvent();
487 Dali::Integration::Point pointDown;
488 pointDown.SetState( PointState::DOWN );
489 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
490 event.AddPoint( pointDown );
491 application.ProcessEvent( event );
493 event = Dali::Integration::HoverEvent();
494 Dali::Integration::Point pointUp;
495 pointUp.SetState( PointState::UP );
496 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
497 event.AddPoint( pointUp );
498 application.ProcessEvent( event );
500 event = Dali::Integration::HoverEvent();
501 Dali::Integration::Point pointMotion;
502 pointUp.SetState( PointState::MOTION );
503 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
504 event.AddPoint( pointMotion );
505 application.ProcessEvent( event );
508 Dali::Integration::WheelEvent wheelEvent;
509 wheelEvent.type = Dali::Integration::WheelEvent::Type::MOUSE_WHEEL;
510 wheelEvent.direction = 0;
511 wheelEvent.point = Vector2( 20, 20 );
512 wheelEvent.delta = 10;
513 application.ProcessEvent( wheelEvent );
514 application.SendNotification();
516 DALI_TEST_CHECK( gHovered );
517 DALI_TEST_CHECK( gWheelEventHandled );
522 int UtcDaliWebViewFormRepostDecisionFrameRendering(void)
524 ToolkitTestApplication application;
526 WebView view = WebView::New();
527 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
528 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
529 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
530 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
531 application.GetScene().Add( view );
532 application.SendNotification();
533 application.Render();
534 DALI_TEST_CHECK( view );
536 ConnectionTracker* testTracker = new ConnectionTracker();
537 view.FormRepostDecisionSignal().Connect(&OnFormRepostDecision);
538 view.FrameRenderedSignal().Connect(&OnFrameRendered);
539 bool signal1 = false;
540 bool signal2 = false;
541 view.ConnectSignal( testTracker, "formRepostDecision", CallbackFunctor(&signal1) );
542 view.ConnectSignal( testTracker, "frameRendered", CallbackFunctor(&signal2) );
543 DALI_TEST_EQUALS( gFormRepostDecisionCallbackCalled, 0, TEST_LOCATION );
544 DALI_TEST_EQUALS( gFrameRenderedCallbackCalled, 0, TEST_LOCATION );
546 view.LoadUrl( TEST_URL1 );
547 Test::EmitGlobalTimerSignal();
548 DALI_TEST_EQUALS( gFormRepostDecisionCallbackCalled, 1, TEST_LOCATION );
549 DALI_TEST_EQUALS( gFrameRenderedCallbackCalled, 1, TEST_LOCATION );
550 DALI_TEST_CHECK( signal1 & signal2);
552 // form repost decision.
553 DALI_TEST_CHECK(gFormRepostDecisionInstance);
554 gFormRepostDecisionInstance->Reply(true);
557 gFormRepostDecisionInstance = nullptr;
562 int UtcDaliWebViewGetWebBackForwardList(void)
564 ToolkitTestApplication application;
566 WebView view = WebView::New();
567 DALI_TEST_CHECK( view );
569 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
570 DALI_TEST_CHECK( bfList != 0 );
575 int UtcDaliWebViewGetWebContext(void)
577 ToolkitTestApplication application;
579 WebView view = WebView::New();
580 DALI_TEST_CHECK( view );
582 Dali::Toolkit::WebContext* context = view.GetContext();
583 DALI_TEST_CHECK( context != 0 );
588 int UtcDaliWebViewGetWebCookieManager(void)
590 ToolkitTestApplication application;
592 WebView view = WebView::New();
593 DALI_TEST_CHECK( view );
595 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
596 DALI_TEST_CHECK( cookieManager != 0 );
601 int UtcDaliWebViewGetWebSettings(void)
603 ToolkitTestApplication application;
605 WebView view = WebView::New();
606 DALI_TEST_CHECK( view );
608 Dali::Toolkit::WebSettings* settings = view.GetSettings();
609 DALI_TEST_CHECK( settings != 0 );
614 int UtcDaliWebViewProperty1(void)
617 ToolkitTestApplication application;
619 WebView view = WebView::New();
620 DALI_TEST_CHECK( view );
623 view.SetProperty( WebView::Property::URL, TEST_URL1 );
624 Property::Value val = view.GetProperty( WebView::Property::URL );
625 DALI_TEST_CHECK( val.Get( local ) );
626 DALI_TEST_EQUALS( local, TEST_URL1, TEST_LOCATION );
631 int UtcDaliWebViewProperty4(void)
634 ToolkitTestApplication application;
636 WebView view = WebView::New();
637 DALI_TEST_CHECK( view );
639 const std::string kDefaultValue;
640 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";
642 // Check default value
644 Property::Value value = view.GetProperty( WebView::Property::USER_AGENT );
645 DALI_TEST_CHECK( value.Get( output ) );
646 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
648 // Check Set/GetProperty
649 view.SetProperty( WebView::Property::USER_AGENT, kTestValue );
650 value = view.GetProperty( WebView::Property::USER_AGENT );
651 DALI_TEST_CHECK( value.Get( output ) );
652 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
657 int UtcDaliWebViewProperty9(void)
660 ToolkitTestApplication application;
662 WebView view = WebView::New();
663 DALI_TEST_CHECK( view );
665 // Check default value
666 Dali::Vector2 output = Dali::Vector2::ONE;
667 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
668 DALI_TEST_CHECK( output.x == 0 && output.y == 0 );
670 // Check Set/GetProperty
671 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
672 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
673 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
674 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
676 // Check default value of scroll size
677 output = Dali::Vector2::ONE;
678 view.GetProperty( WebView::Property::SCROLL_SIZE ).Get( output );
679 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
681 // Check default value of content size
682 output = Dali::Vector2::ONE;
683 view.GetProperty( WebView::Property::CONTENT_SIZE ).Get( output );
684 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
689 int UtcDaliWebViewPropertyBackgroundColorSelectedTextEtc(void)
691 ToolkitTestApplication application;
693 WebView view = WebView::New();
694 DALI_TEST_CHECK( view );
696 Dali::Vector4 testValue = Dali::Vector4(0.0f, 0.0f, 0.0f, 0.0f);
697 view.SetProperty(WebView::Property::DOCUMENT_BACKGROUND_COLOR, testValue);
698 view.SetProperty(WebView::Property::TILES_CLEARED_WHEN_HIDDEN, true);
699 view.SetProperty(WebView::Property::TILE_COVER_AREA_MULTIPLIER, 1.0f);
700 view.SetProperty(WebView::Property::CURSOR_ENABLED_BY_CLIENT, true);
702 // Check default value
703 std::string testText("test");
705 view.GetProperty(WebView::Property::SELECTED_TEXT).Get(output);
706 DALI_TEST_EQUALS(output, testText, TEST_LOCATION);
711 int UtcDaliWebViewPropertyTitleFavicon(void)
713 ToolkitTestApplication application;
715 char argv[] = "--test";
716 WebView view = WebView::New( 1, (char**)&argv );
717 DALI_TEST_CHECK( view );
720 view.ClearAllTilesResources();
722 // Check default value of title
723 std::string testValue("title");
725 view.GetProperty( WebView::Property::TITLE ).Get( output );
726 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
728 // Check default value of favicon
729 Dali::Toolkit::ImageView* favicon = &view.GetFavicon();
730 DALI_TEST_CHECK( favicon );
731 Dali::Vector3 iconsize = favicon->GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
732 DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 );
737 int UtcDaliWebViewScrollBy(void)
739 ToolkitTestApplication application;
741 WebView view = WebView::New();
742 DALI_TEST_CHECK( view );
745 ConnectionTracker* testTracker = new ConnectionTracker();
746 view.ScrollEdgeReachedSignal().Connect( &OnScrollEdgeReached );
747 bool signal1 = false;
748 view.ConnectSignal( testTracker, "scrollEdgeReached", CallbackFunctor(&signal1) );
749 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION );
751 view.LoadUrl( TEST_URL1 );
752 Test::EmitGlobalTimerSignal();
754 // set scroll position.
755 Dali::Vector2 output = Dali::Vector2::ONE;
756 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
757 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
758 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
759 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
761 // scroll by and trigger scrollEdgeReached event.
762 view.ScrollBy( 50, 50 );
763 Test::EmitGlobalTimerSignal();
765 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
766 DALI_TEST_CHECK( output.x == 150 && output.y == 150 );
767 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION );
768 DALI_TEST_CHECK( signal1 );
773 int UtcDaliWebViewEvaluteJavaScript(void)
775 ToolkitTestApplication application;
777 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
779 view.LoadHtmlString( "<body>Hello World!</body>" );
780 view.EvaluateJavaScript( "jsObject.postMessage('Hello')" );
781 view.EvaluateJavaScript( "jsObject.postMessage('World')", OnEvaluateJavaScript );
782 Test::EmitGlobalTimerSignal();
784 DALI_TEST_EQUALS( gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION );
789 int UtcDaliWebViewJavaScriptAlertConfirmPrompt(void)
791 ToolkitTestApplication application;
793 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
795 view.RegisterJavaScriptAlertCallback( &OnJavaScriptAlert );
796 view.LoadHtmlString( "<head><script type='text/javascript'>alert('this is an alert popup.');</script></head><body>Hello World!</body>" );
797 view.JavaScriptAlertReply();
798 Test::EmitGlobalTimerSignal();
799 DALI_TEST_EQUALS( gJavaScriptAlertCallbackCalled, 1, TEST_LOCATION );
801 view.RegisterJavaScriptConfirmCallback( &OnJavaScriptConfirm );
802 view.LoadHtmlString( "<head><script type='text/javascript'>confirm('this is a confirm popup.');</script></head><body>Hello World!</body>" );
803 view.JavaScriptConfirmReply( true );
804 Test::EmitGlobalTimerSignal();
805 DALI_TEST_EQUALS( gJavaScriptConfirmCallbackCalled, 1, TEST_LOCATION );
807 view.RegisterJavaScriptPromptCallback( &OnJavaScriptPrompt );
808 view.LoadHtmlString( "<head><script type='text/javascript'>prompt('this is a prompt popup.');</script></head><body>Hello World!</body>" );
809 view.JavaScriptPromptReply( "it is a prompt." );
810 Test::EmitGlobalTimerSignal();
811 DALI_TEST_EQUALS( gJavaScriptPromptCallbackCalled, 1, TEST_LOCATION );
816 int UtcDaliWebViewMethodsForCoverage(void)
818 ToolkitTestApplication application;
820 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
822 view.LoadHtmlString( "<body>Hello World!</body>" );
823 view.AddJavaScriptMessageHandler( "jsObject",
824 []( const std::string& arg ) {
828 DALI_TEST_CHECK( view );
833 // test cases for web backforward list.
835 int UtcDaliWebBackForwardListCheckItem(void)
837 ToolkitTestApplication application;
839 WebView view = WebView::New();
840 DALI_TEST_CHECK( view );
842 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
843 DALI_TEST_CHECK( bfList != 0 )
845 unsigned int itemCount = bfList->GetItemCount();
846 DALI_TEST_CHECK( itemCount == 1 )
848 Dali::Toolkit::WebBackForwardListItem* citem = bfList->GetCurrentItem();
849 DALI_TEST_CHECK( citem != 0 );
851 const std::string kDefaultUrl( "http://url" );
852 std::string testValue = citem->GetUrl();
853 DALI_TEST_EQUALS( testValue, kDefaultUrl, TEST_LOCATION );
855 const std::string kDefaultTitle( "title" );
856 testValue = citem->GetTitle();
857 DALI_TEST_EQUALS( testValue, kDefaultTitle, TEST_LOCATION );
859 const std::string kDefaultOriginalUrl( "http://originalurl" );
860 testValue = citem->GetOriginalUrl();
861 DALI_TEST_EQUALS( testValue, kDefaultOriginalUrl, TEST_LOCATION );
863 Dali::Toolkit::WebBackForwardListItem* item = bfList->GetItemAtIndex( 0 );
864 DALI_TEST_CHECK( item != 0 );
869 // test cases for web context.
871 int UtcDaliWebContextGetSetCacheModel(void)
873 ToolkitTestApplication application;
875 WebView view = WebView::New();
876 DALI_TEST_CHECK( view );
878 Dali::Toolkit::WebContext* context = view.GetContext();
879 DALI_TEST_CHECK( context != 0 )
881 std::string kDefaultValue;
884 context->SetProxyUri( kDefaultValue );
885 context->SetCertificateFilePath( kDefaultValue );
886 context->DisableCache( false );
887 context->SetDefaultProxyAuth( kDefaultValue, kDefaultValue );
888 context->DeleteWebDatabase();
889 context->DeleteWebStorage();
890 context->DeleteLocalFileSystem();
891 context->ClearCache();
893 // Check default value
894 Dali::WebEngineContext::CacheModel value = context->GetCacheModel();
895 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER );
897 // Check Set/GetProperty
898 context->SetCacheModel( Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
899 value = context->GetCacheModel();
900 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
905 // test cases for web cookie manager.
907 int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void)
909 ToolkitTestApplication application;
911 WebView view = WebView::New();
912 DALI_TEST_CHECK( view );
914 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
915 DALI_TEST_CHECK( cookieManager != 0 )
917 const std::string kDefaultValue;
920 cookieManager->SetPersistentStorage( kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE );
921 cookieManager->ClearCookies();
923 // Check default value
924 Dali::WebEngineCookieManager::CookieAcceptPolicy value = cookieManager->GetCookieAcceptPolicy();
925 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY );
927 // Check Set/GetProperty
928 cookieManager->SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
929 value = cookieManager->GetCookieAcceptPolicy();
930 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
935 // test cases for web settings.
937 int UtcDaliWebSettingsGetSetDefaultFontSize(void)
939 ToolkitTestApplication application;
941 WebView view = WebView::New();
942 DALI_TEST_CHECK( view );
944 Dali::Toolkit::WebSettings* settings = view.GetSettings();
945 DALI_TEST_CHECK( settings != 0 )
948 settings->AllowMixedContents( false );
949 settings->EnableSpatialNavigation( false );
950 settings->EnableWebSecurity( false );
951 settings->EnableCacheBuilder( false );
952 settings->EnableDoNotTrack( false );
953 settings->UseScrollbarThumbFocusNotifications( false );
954 settings->AllowFileAccessFromExternalUrl( false );
955 settings->AllowScriptsOpenWindows( false );
957 // Check default value
958 int value = settings->GetDefaultFontSize();
959 DALI_TEST_CHECK( value == 16 );
961 // Check Set/GetProperty
962 settings->SetDefaultFontSize( 20 );
963 value = settings->GetDefaultFontSize();
964 DALI_TEST_CHECK( value == 20 );
969 int UtcDaliWebSettingsCheckEnableJavaScript(void)
971 ToolkitTestApplication application;
973 WebView view = WebView::New();
974 DALI_TEST_CHECK( view );
976 Dali::Toolkit::WebSettings* settings = view.GetSettings();
977 DALI_TEST_CHECK( settings != 0 )
980 settings->AllowMixedContents( false );
981 settings->EnableSpatialNavigation( false );
982 settings->EnableWebSecurity( false );
983 settings->EnableCacheBuilder( false );
984 settings->EnableDoNotTrack( false );
985 settings->UseScrollbarThumbFocusNotifications( false );
986 settings->AllowFileAccessFromExternalUrl( false );
987 settings->AllowScriptsOpenWindows( false );
989 // Check default value is true or not
990 bool value = settings->IsJavaScriptEnabled();
991 DALI_TEST_CHECK( value );
993 // Check Set/GetProperty
994 settings->EnableJavaScript( false );
995 value = settings->IsJavaScriptEnabled();
996 DALI_TEST_CHECK( !value );
1001 int UtcDaliWebSettingsCheckEnableAutoFitting(void)
1003 ToolkitTestApplication application;
1005 WebView view = WebView::New();
1006 DALI_TEST_CHECK( view );
1008 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1009 DALI_TEST_CHECK( settings != 0 )
1012 settings->AllowMixedContents( false );
1013 settings->EnableSpatialNavigation( false );
1014 settings->EnableWebSecurity( false );
1015 settings->EnableCacheBuilder( false );
1016 settings->EnableDoNotTrack( false );
1017 settings->UseScrollbarThumbFocusNotifications( false );
1018 settings->AllowFileAccessFromExternalUrl( false );
1019 settings->AllowScriptsOpenWindows( false );
1021 // Check default value is true or not
1022 bool value = settings->IsAutoFittingEnabled();
1023 DALI_TEST_CHECK( value );
1025 // Check Set/GetProperty
1026 settings->EnableAutoFitting( false );
1027 value = settings->IsAutoFittingEnabled();
1028 DALI_TEST_CHECK( !value );
1033 int UtcDaliWebSettingsCheckEnablePlugins(void)
1035 ToolkitTestApplication application;
1037 WebView view = WebView::New();
1038 DALI_TEST_CHECK( view );
1040 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1041 DALI_TEST_CHECK( settings != 0 )
1044 settings->AllowMixedContents( false );
1045 settings->EnableSpatialNavigation( false );
1046 settings->EnableWebSecurity( false );
1047 settings->EnableCacheBuilder( false );
1048 settings->EnableDoNotTrack( false );
1049 settings->UseScrollbarThumbFocusNotifications( false );
1050 settings->AllowFileAccessFromExternalUrl( false );
1051 settings->AllowScriptsOpenWindows( false );
1053 // Check default value is true or not
1054 bool value = settings->ArePluginsEnabled();
1055 DALI_TEST_CHECK( value );
1057 // Check Set/GetProperty
1058 settings->EnablePlugins( false );
1059 value = settings->ArePluginsEnabled();
1060 DALI_TEST_CHECK( !value );
1065 int UtcDaliWebSettingsCheckEnablePrivateBrowsing(void)
1067 ToolkitTestApplication application;
1069 WebView view = WebView::New();
1070 DALI_TEST_CHECK( view );
1072 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1073 DALI_TEST_CHECK( settings != 0 )
1076 settings->AllowMixedContents( false );
1077 settings->EnableSpatialNavigation( false );
1078 settings->EnableWebSecurity( false );
1079 settings->EnableCacheBuilder( false );
1080 settings->EnableDoNotTrack( false );
1081 settings->UseScrollbarThumbFocusNotifications( false );
1082 settings->AllowFileAccessFromExternalUrl( false );
1083 settings->AllowScriptsOpenWindows( false );
1085 // Check default value is true or not
1086 bool value = settings->IsPrivateBrowsingEnabled();
1087 DALI_TEST_CHECK( value );
1089 // Check Set/GetProperty
1090 settings->EnablePrivateBrowsing( false );
1091 value = settings->IsPrivateBrowsingEnabled();
1092 DALI_TEST_CHECK( !value );
1097 int UtcDaliWebSettingsCheckEnableLinkMagnifier(void)
1099 ToolkitTestApplication application;
1101 WebView view = WebView::New();
1102 DALI_TEST_CHECK( view );
1104 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1105 DALI_TEST_CHECK( settings != 0 )
1108 settings->AllowMixedContents( false );
1109 settings->EnableSpatialNavigation( false );
1110 settings->EnableWebSecurity( false );
1111 settings->EnableCacheBuilder( false );
1112 settings->EnableDoNotTrack( false );
1113 settings->UseScrollbarThumbFocusNotifications( false );
1114 settings->AllowFileAccessFromExternalUrl( false );
1115 settings->AllowScriptsOpenWindows( false );
1117 // Check default value is true or not
1118 bool value = settings->IsLinkMagnifierEnabled();
1119 DALI_TEST_CHECK( value );
1121 // Check Set/GetProperty
1122 settings->EnableLinkMagnifier( false );
1123 value = settings->IsLinkMagnifierEnabled();
1124 DALI_TEST_CHECK( !value );
1129 int UtcDaliWebSettingsCheckUseKeypadWithoutUserAction(void)
1131 ToolkitTestApplication application;
1133 WebView view = WebView::New();
1134 DALI_TEST_CHECK( view );
1136 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1137 DALI_TEST_CHECK( settings != 0 )
1140 settings->AllowMixedContents( false );
1141 settings->EnableSpatialNavigation( false );
1142 settings->EnableWebSecurity( false );
1143 settings->EnableCacheBuilder( false );
1144 settings->EnableDoNotTrack( false );
1145 settings->UseScrollbarThumbFocusNotifications( false );
1146 settings->AllowFileAccessFromExternalUrl( false );
1147 settings->AllowScriptsOpenWindows( false );
1149 // Check default value is true or not
1150 bool value = settings->IsKeypadWithoutUserActionUsed();
1151 DALI_TEST_CHECK( value );
1153 // Check Set/GetProperty
1154 settings->UseKeypadWithoutUserAction( false );
1155 value = settings->IsKeypadWithoutUserActionUsed();
1156 DALI_TEST_CHECK( !value );
1161 int UtcDaliWebSettingsCheckEnableAutofillPasswordForm(void)
1163 ToolkitTestApplication application;
1165 WebView view = WebView::New();
1166 DALI_TEST_CHECK( view );
1168 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1169 DALI_TEST_CHECK( settings != 0 )
1172 settings->AllowMixedContents( false );
1173 settings->EnableSpatialNavigation( false );
1174 settings->EnableWebSecurity( false );
1175 settings->EnableCacheBuilder( false );
1176 settings->EnableDoNotTrack( false );
1177 settings->UseScrollbarThumbFocusNotifications( false );
1178 settings->AllowFileAccessFromExternalUrl( false );
1179 settings->AllowScriptsOpenWindows( false );
1181 // Check default value is true or not
1182 bool value = settings->IsAutofillPasswordFormEnabled();
1183 DALI_TEST_CHECK( value );
1184 settings->EnableAutofillPasswordForm( false );
1185 value = settings->IsAutofillPasswordFormEnabled();
1186 DALI_TEST_CHECK( !value );
1190 int UtcDaliWebSettingsCheckEnableFormCandidateData(void)
1192 ToolkitTestApplication application;
1194 WebView view = WebView::New();
1195 DALI_TEST_CHECK( view );
1197 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1198 DALI_TEST_CHECK( settings != 0 );
1201 settings->AllowMixedContents( false );
1202 settings->EnableSpatialNavigation( false );
1203 settings->EnableWebSecurity( false );
1204 settings->EnableCacheBuilder( false );
1205 settings->EnableDoNotTrack( false );
1206 settings->UseScrollbarThumbFocusNotifications( false );
1207 settings->AllowFileAccessFromExternalUrl( false );
1208 settings->AllowScriptsOpenWindows( false );
1210 // Check default value is true or not
1211 bool value = settings->IsFormCandidateDataEnabled();
1212 DALI_TEST_CHECK( value );
1214 // Check Set/GetProperty
1215 settings->EnableFormCandidateData( false );
1216 value = settings->IsFormCandidateDataEnabled();
1217 DALI_TEST_CHECK( !value );
1222 int UtcDaliWebSettingsCheckEnableTextSelection(void)
1224 ToolkitTestApplication application;
1226 WebView view = WebView::New();
1227 DALI_TEST_CHECK( view );
1229 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1230 DALI_TEST_CHECK( settings != 0 );
1233 settings->AllowMixedContents( false );
1234 settings->EnableSpatialNavigation( false );
1235 settings->EnableWebSecurity( false );
1236 settings->EnableCacheBuilder( false );
1237 settings->EnableDoNotTrack( false );
1238 settings->UseScrollbarThumbFocusNotifications( false );
1239 settings->AllowFileAccessFromExternalUrl( false );
1240 settings->AllowScriptsOpenWindows( false );
1242 // Check default value is true or not
1243 bool value = settings->IsTextSelectionEnabled();
1244 DALI_TEST_CHECK( value );
1246 //Check Set/GetProperty
1247 settings->EnableTextSelection(false);
1248 value = settings->IsTextSelectionEnabled();
1249 DALI_TEST_CHECK( !value );
1254 int UtcDaliWebSettingsCheckEnableTextAutosizing(void)
1256 ToolkitTestApplication application;
1258 WebView view = WebView::New();
1259 DALI_TEST_CHECK( view );
1261 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1262 DALI_TEST_CHECK( settings != 0 );
1265 settings->AllowMixedContents( false );
1266 settings->EnableSpatialNavigation( false );
1267 settings->EnableWebSecurity( false );
1268 settings->EnableCacheBuilder( false );
1269 settings->EnableDoNotTrack( false );
1270 settings->UseScrollbarThumbFocusNotifications( false );
1271 settings->AllowFileAccessFromExternalUrl( false );
1272 settings->AllowScriptsOpenWindows( false );
1274 // Check default value is true or not
1275 bool value = settings->IsTextAutosizingEnabled();
1276 DALI_TEST_CHECK( value );
1278 // Check Set/GetProperty
1279 settings->EnableTextAutosizing(false);
1280 value = settings->IsTextAutosizingEnabled();
1281 DALI_TEST_CHECK( !value );
1286 int UtcDaliWebSettingsCheckEnableArrowScroll(void)
1288 ToolkitTestApplication application;
1290 WebView view = WebView::New();
1291 DALI_TEST_CHECK( view );
1293 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1294 DALI_TEST_CHECK( settings != 0 );
1297 settings->AllowMixedContents( false );
1298 settings->EnableSpatialNavigation( false );
1299 settings->EnableWebSecurity( false );
1300 settings->EnableCacheBuilder( false );
1301 settings->EnableDoNotTrack( false );
1302 settings->UseScrollbarThumbFocusNotifications( false );
1303 settings->AllowFileAccessFromExternalUrl( false );
1304 settings->AllowScriptsOpenWindows( false );
1306 // Check default value is true or not
1307 bool value = settings->IsArrowScrollEnabled();
1308 DALI_TEST_CHECK( value );
1310 // Check Set/GetProperty
1311 settings->EnableArrowScroll(false);
1312 value = settings->IsArrowScrollEnabled();
1313 DALI_TEST_CHECK( !value );
1318 int UtcDaliWebSettingsCheckEnableClipboard(void)
1320 ToolkitTestApplication application;
1322 WebView view = WebView::New();
1323 DALI_TEST_CHECK( view );
1325 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1326 DALI_TEST_CHECK( settings != 0 );
1329 settings->AllowMixedContents( false );
1330 settings->EnableSpatialNavigation( false );
1331 settings->EnableWebSecurity( false );
1332 settings->EnableCacheBuilder( false );
1333 settings->EnableDoNotTrack( false );
1334 settings->UseScrollbarThumbFocusNotifications( false );
1335 settings->AllowFileAccessFromExternalUrl( false );
1336 settings->AllowScriptsOpenWindows( false );
1338 // Check default value is true or not
1339 bool value = settings->IsClipboardEnabled();
1340 DALI_TEST_CHECK( value );
1341 settings->EnableClipboard(false);
1342 value = settings->IsClipboardEnabled();
1343 DALI_TEST_CHECK( !value );
1347 int UtcDaliWebSettingsCheckEnableImePanel(void)
1349 ToolkitTestApplication application;
1351 WebView view = WebView::New();
1352 DALI_TEST_CHECK( view );
1354 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1355 DALI_TEST_CHECK( settings != 0 );
1358 settings->AllowMixedContents( false );
1359 settings->EnableSpatialNavigation( false );
1360 settings->EnableWebSecurity( false );
1361 settings->EnableCacheBuilder( false );
1362 settings->EnableDoNotTrack( false );
1363 settings->UseScrollbarThumbFocusNotifications( false );
1364 settings->AllowFileAccessFromExternalUrl( false );
1365 settings->AllowScriptsOpenWindows( false );
1367 // Check default value is true or not
1368 bool value = settings->IsImePanelEnabled();
1369 DALI_TEST_CHECK( value );
1371 // Check Set/GetProperty
1372 settings->EnableImePanel(false);
1373 value = settings->IsImePanelEnabled();
1374 DALI_TEST_CHECK( !value );
1379 int UtcDaliWebSettingsCheckAllowImagesLoadAutomatically(void)
1381 ToolkitTestApplication application;
1383 WebView view = WebView::New();
1384 DALI_TEST_CHECK( view );
1386 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1387 DALI_TEST_CHECK( settings != 0 )
1390 settings->AllowMixedContents( false );
1391 settings->EnableSpatialNavigation( false );
1392 settings->EnableWebSecurity( false );
1393 settings->EnableCacheBuilder( false );
1394 settings->EnableDoNotTrack( false );
1395 settings->UseScrollbarThumbFocusNotifications( false );
1396 settings->AllowFileAccessFromExternalUrl( false );
1397 settings->AllowScriptsOpenWindows( false );
1399 // Check default value is true or not
1400 bool value = settings->AreImagesLoadedAutomatically();
1401 DALI_TEST_CHECK( value );
1403 // Check Set/GetProperty
1404 settings->AllowImagesLoadAutomatically( false );
1405 value = settings->AreImagesLoadedAutomatically();
1406 DALI_TEST_CHECK( !value );
1411 int UtcDaliWebSettingsGetSetDefaultTextEncodingName(void)
1413 ToolkitTestApplication application;
1415 WebView view = WebView::New();
1416 DALI_TEST_CHECK( view );
1418 Dali::Toolkit::WebSettings* settings = view.GetSettings();
1419 DALI_TEST_CHECK( settings != 0 )
1421 const std::string kDefaultValue;
1422 const std::string kTestValue = "UTF-8";
1425 settings->AllowMixedContents( false );
1426 settings->EnableSpatialNavigation( false );
1427 settings->EnableWebSecurity( false );
1428 settings->EnableCacheBuilder( false );
1429 settings->EnableDoNotTrack( false );
1430 settings->UseScrollbarThumbFocusNotifications( false );
1431 settings->AllowFileAccessFromExternalUrl( false );
1432 settings->AllowScriptsOpenWindows( false );
1434 // Check default value
1435 std::string value = settings->GetDefaultTextEncodingName();
1436 DALI_TEST_EQUALS( value, kDefaultValue, TEST_LOCATION );
1438 // Check Set/GetProperty
1439 settings->SetDefaultTextEncodingName( kTestValue );
1440 value = settings->GetDefaultTextEncodingName();
1441 DALI_TEST_EQUALS( value, kTestValue, TEST_LOCATION );