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/devel-api/adaptor-framework/web-engine-frame.h>
26 #include <dali/devel-api/adaptor-framework/web-engine-policy-decision.h>
27 #include <dali/integration-api/events/key-event-integ.h>
28 #include <dali/integration-api/events/touch-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-settings.h>
37 #include <dali-toolkit/devel-api/controls/web-view/web-view.h>
40 using namespace Toolkit;
45 const char* const TEST_URL1( "http://www.somewhere.valid1.com" );
46 const char* const TEST_URL2( "http://www.somewhere.valid2.com" );
48 static int gPageLoadStartedCallbackCalled = 0;
49 static int gPageLoadFinishedCallbackCalled = 0;
50 static int gScrollEdgeReachedCallbackCalled = 0;
51 static int gNavigationPolicyDecidedCallbackCalled = 0;
52 static int gEvaluateJavaScriptCallbackCalled = 0;
53 static bool gTouched = false;
54 static int gPlainTextReceivedCallbackCalled = 0;
56 struct CallbackFunctor
58 CallbackFunctor(bool* callbackFlag)
59 : mCallbackFlag( callbackFlag )
65 *mCallbackFlag = true;
70 static void OnPageLoadStarted( const std::string& url )
72 gPageLoadStartedCallbackCalled++;
75 static void OnPageLoadFinished( const std::string& url )
77 gPageLoadFinishedCallbackCalled++;
80 static void OnScrollEdgeReached( Dali::WebEnginePlugin::ScrollEdge edge )
82 gScrollEdgeReachedCallbackCalled++;
85 static void OnNavigationPolicyDecided(std::unique_ptr<Dali::WebEnginePolicyDecision> decision)
87 gNavigationPolicyDecidedCallbackCalled++;
90 static bool OnPlainTextReceived(const std::string& plainText)
92 gPlainTextReceivedCallbackCalled++;
96 static void OnPageLoadError( const std::string& url, WebView::LoadErrorCode errorCode )
100 static void OnEvaluateJavaScript( const std::string& result )
102 gEvaluateJavaScriptCallbackCalled++;
105 static bool OnTouched( Actor actor, const Dali::TouchEvent& touch )
113 void web_view_startup(void)
115 test_return_value = TET_UNDEF;
118 void web_view_cleanup(void)
120 test_return_value = TET_PASS;
123 int UtcDaliWebViewBasics(void)
125 ToolkitTestApplication application;
127 // Copy and Assignment Test
128 tet_infoline( "UtcDaliWebViewBasic Copy and Assignment Test" );
129 WebView view = WebView::New();
130 DALI_TEST_CHECK( view );
132 WebView copy( view );
133 DALI_TEST_CHECK( view == copy );
136 DALI_TEST_CHECK( !assign );
139 DALI_TEST_CHECK( assign == view );
143 tet_infoline( "UtcDaliWebViewBasic DownCast Test" );
144 BaseHandle handle(view);
146 WebView view2 = WebView::DownCast( handle );
147 DALI_TEST_CHECK( view );
148 DALI_TEST_CHECK( view2 );
149 DALI_TEST_CHECK( view == view2 );
153 tet_infoline( "UtcDaliWebViewBasic TypeRegistry Test" );
154 TypeRegistry typeRegistry = TypeRegistry::Get();
155 DALI_TEST_CHECK( typeRegistry );
157 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "WebView" );
158 DALI_TEST_CHECK( typeInfo );
160 BaseHandle handle2 = typeInfo.CreateInstance();
161 DALI_TEST_CHECK( handle2 );
163 WebView view3 = WebView::DownCast( handle2 );
164 DALI_TEST_CHECK( view3 );
169 int UtcDaliWebViewPageNavigation(void)
171 ToolkitTestApplication application;
173 WebView view = WebView::New();
174 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
175 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
176 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
177 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
178 application.GetScene().Add( view );
179 application.SendNotification();
180 application.Render();
181 DALI_TEST_CHECK( view );
183 view.RegisterPageLoadStartedCallback( &OnPageLoadStarted );
184 view.RegisterPageLoadFinishedCallback( &OnPageLoadFinished );
185 view.RegisterPageLoadErrorCallback( &OnPageLoadError );
187 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 0, TEST_LOCATION );
188 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION );
189 DALI_TEST_EQUALS( gPageLoadErrorCallbackCalled, 0, TEST_LOCATION );
191 view.LoadUrl( TEST_URL1 );
192 view.GetNaturalSize();
193 Test::EmitGlobalTimerSignal();
194 DALI_TEST_EQUALS( view.CanGoBack(), false, TEST_LOCATION );
195 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 1, TEST_LOCATION );
196 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION );
197 DALI_TEST_EQUALS( gPageLoadErrorCallbackCalled, 1, TEST_LOCATION );
199 view.LoadUrl( TEST_URL2 );
201 view.SetProperty( Actor::Property::SIZE, Vector2( 400, 300 ) );
202 application.SendNotification();
203 application.Render();
204 Test::EmitGlobalTimerSignal();
206 DALI_TEST_EQUALS( view.CanGoBack(), true, TEST_LOCATION );
207 DALI_TEST_EQUALS( view.CanGoForward(), false, TEST_LOCATION );
208 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 2, TEST_LOCATION );
209 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION );
212 Test::EmitGlobalTimerSignal();
213 DALI_TEST_CHECK( !view.CanGoBack() );
214 DALI_TEST_CHECK( view.CanGoForward() );
217 Test::EmitGlobalTimerSignal();
218 DALI_TEST_CHECK( view.CanGoBack() );
219 DALI_TEST_CHECK( !view.CanGoForward() );
224 Test::EmitGlobalTimerSignal();
225 DALI_TEST_CHECK( !view.CanGoBack() );
226 DALI_TEST_CHECK( !view.CanGoForward() );
231 int UtcDaliWebViewTouchAndKeys(void)
233 ToolkitTestApplication application;
235 WebView view = WebView::New();
236 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
237 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
238 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
239 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
241 application.GetScene().Add( view );
242 application.SendNotification();
243 application.Render();
245 view.GetNaturalSize();
246 view.TouchedSignal().Connect( &OnTouched );
249 Dali::Integration::TouchEvent event;
250 Dali::Integration::Point pointDown, pointUp;
252 event = Dali::Integration::TouchEvent();
253 pointDown.SetState( PointState::DOWN );
254 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
255 event.AddPoint( pointDown );
256 application.ProcessEvent( event );
258 event = Dali::Integration::TouchEvent();
259 pointUp.SetState( PointState::UP );
260 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
261 event.AddPoint( pointUp );
262 application.ProcessEvent( event );
265 Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( view );
266 application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
267 application.SendNotification();
269 DALI_TEST_CHECK( gTouched );
270 DALI_TEST_CHECK( view );
275 int UtcDaliWebViewFocusGainedAndLost(void)
277 ToolkitTestApplication application;
279 WebView view = WebView::New();
280 DALI_TEST_CHECK( view );
282 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
283 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
284 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
285 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
287 application.GetScene().Add( view );
288 application.SendNotification();
289 application.Render();
291 view.SetKeyInputFocus();
292 DALI_TEST_CHECK( view.HasKeyInputFocus() );
295 view.ClearKeyInputFocus();
296 DALI_TEST_CHECK( !view.HasKeyInputFocus() );
301 int UtcDaliWebViewMove(void)
303 ToolkitTestApplication application;
305 WebView view = WebView::New();
306 DALI_TEST_CHECK( view );
308 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
309 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
310 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
311 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
313 application.GetScene().Add( view );
314 application.SendNotification();
315 application.Render();
317 view.SetProperty( Actor::Property::POSITION, Vector2( 100, 100 ));
318 Vector3 viewPos = view.GetProperty<Vector3>( Actor::Property::POSITION );
319 DALI_TEST_EQUALS( viewPos, Vector3( 100, 100, 0 ), TEST_LOCATION );
324 int UtcDaliWebViewPropertyVideoHole(void)
326 ToolkitTestApplication application;
328 WebView view = WebView::New();
329 DALI_TEST_CHECK( view );
331 const bool kDefaultValue = true;
332 const bool kTestValue = false;
334 // Check default value
336 Property::Value value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
337 DALI_TEST_CHECK( value.Get( output ) );
338 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
340 // Check Set/GetProperty
341 view.SetProperty( WebView::Property::VIDEO_HOLE_ENABLED, kTestValue );
342 value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
343 DALI_TEST_CHECK( value.Get( output ) );
344 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
349 int UtcDaliWebViewGetWebBackForwardList(void)
351 ToolkitTestApplication application;
353 WebView view = WebView::New();
354 DALI_TEST_CHECK( view );
356 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
357 DALI_TEST_CHECK( bfList != 0 );
362 int UtcDaliWebViewGetWebContext(void)
364 ToolkitTestApplication application;
366 WebView view = WebView::New();
367 DALI_TEST_CHECK( view );
369 Dali::Toolkit::WebContext* context = view.GetContext();
370 DALI_TEST_CHECK( context != 0 );
375 int UtcDaliWebViewGetWebCookieManager(void)
377 ToolkitTestApplication application;
379 WebView view = WebView::New();
380 DALI_TEST_CHECK( view );
382 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
383 DALI_TEST_CHECK( cookieManager != 0 );
388 int UtcDaliWebViewGetWebSettings(void)
390 ToolkitTestApplication application;
392 WebView view = WebView::New();
393 DALI_TEST_CHECK( view );
395 Dali::Toolkit::WebSettings* settings = view.GetSettings();
396 DALI_TEST_CHECK( settings != 0 );
401 int UtcDaliWebViewProperty1(void)
404 ToolkitTestApplication application;
406 WebView view = WebView::New();
407 DALI_TEST_CHECK( view );
410 view.SetProperty( WebView::Property::URL, TEST_URL1 );
411 Property::Value val = view.GetProperty( WebView::Property::URL );
412 DALI_TEST_CHECK( val.Get( local ) );
413 DALI_TEST_EQUALS( local, TEST_URL1, TEST_LOCATION );
418 int UtcDaliWebViewProperty4(void)
421 ToolkitTestApplication application;
423 WebView view = WebView::New();
424 DALI_TEST_CHECK( view );
426 const std::string kDefaultValue;
427 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";
429 // Check default value
431 Property::Value value = view.GetProperty( WebView::Property::USER_AGENT );
432 DALI_TEST_CHECK( value.Get( output ) );
433 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
435 // Check Set/GetProperty
436 view.SetProperty( WebView::Property::USER_AGENT, kTestValue );
437 value = view.GetProperty( WebView::Property::USER_AGENT );
438 DALI_TEST_CHECK( value.Get( output ) );
439 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
444 int UtcDaliWebViewProperty9(void)
447 ToolkitTestApplication application;
449 WebView view = WebView::New();
450 DALI_TEST_CHECK( view );
452 // Check default value
453 Dali::Vector2 output = Dali::Vector2::ONE;
454 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
455 DALI_TEST_CHECK( output.x == 0 && output.y == 0 );
457 // Check Set/GetProperty
458 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
459 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
460 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
461 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
463 // Check default value of scroll size
464 output = Dali::Vector2::ONE;
465 view.GetProperty( WebView::Property::SCROLL_SIZE ).Get( output );
466 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
468 // Check default value of content size
469 output = Dali::Vector2::ONE;
470 view.GetProperty( WebView::Property::CONTENT_SIZE ).Get( output );
471 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
476 int UtcDaliWebViewPropertyTitleFavicon(void)
479 ToolkitTestApplication application;
481 char argv[] = "--test";
482 WebView view = WebView::New( 1, (char**)&argv );
483 DALI_TEST_CHECK( view );
486 view.ClearAllTilesResources();
488 // Check default value of title
489 std::string testValue("title");
491 view.GetProperty( WebView::Property::TITLE ).Get( output );
492 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
494 // Check default value of favicon
495 Dali::Toolkit::ImageView favicon = view.GetFavicon();
496 DALI_TEST_CHECK( favicon );
497 Dali::Vector3 iconsize = favicon.GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
498 DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 );
503 int UtcDaliWebViewMethodsForCoverage(void)
505 ToolkitTestApplication application;
507 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
508 view.SetTtsFocus(true);
510 DALI_TEST_CHECK( view );
515 int UtcDaliWebViewScrollBy(void)
517 ToolkitTestApplication application;
519 WebView view = WebView::New();
520 DALI_TEST_CHECK( view );
523 view.RegisterScrollEdgeReachedCallback( &OnScrollEdgeReached );
524 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION );
526 view.LoadUrl( TEST_URL1 );
527 Test::EmitGlobalTimerSignal();
529 // set scroll position.
530 Dali::Vector2 output = Dali::Vector2::ONE;
531 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
532 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
533 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
534 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
536 // scroll by and trigger scrollEdgeReached event.
537 view.ScrollBy( 50, 50 );
538 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
539 DALI_TEST_CHECK( output.x == 150 && output.y == 150 );
540 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION );
545 int UtcDaliWebViewEvaluteJavaScript(void)
547 ToolkitTestApplication application;
549 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
551 view.LoadHtmlString( "<body>Hello World!</body>" );
552 view.EvaluateJavaScript( "jsObject.postMessage('Hello')" );
553 view.EvaluateJavaScript( "jsObject.postMessage('World')", OnEvaluateJavaScript );
554 Test::EmitGlobalTimerSignal();
556 DALI_TEST_EQUALS( gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION );
561 int UtcDaliWebViewMethodsForCoverage(void)
563 ToolkitTestApplication application;
565 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
567 view.LoadHtmlString( "<body>Hello World!</body>" );
568 view.AddJavaScriptMessageHandler( "jsObject",
569 []( const std::string& arg ) {
573 DALI_TEST_CHECK( view );
578 // test cases for web backforward list.
580 int UtcDaliWebBackForwardListCheckItem(void)
582 ToolkitTestApplication application;
584 WebView view = WebView::New();
585 DALI_TEST_CHECK( view );
587 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
588 DALI_TEST_CHECK( bfList != 0 )
590 unsigned int itemCount = bfList->GetItemCount();
591 DALI_TEST_CHECK( itemCount == 1 )
593 Dali::Toolkit::WebBackForwardListItem* citem = bfList->GetCurrentItem();
594 DALI_TEST_CHECK( citem != 0 );
596 const std::string kDefaultUrl( "http://url" );
597 std::string testValue = citem->GetUrl();
598 DALI_TEST_EQUALS( testValue, kDefaultUrl, TEST_LOCATION );
600 const std::string kDefaultTitle( "title" );
601 testValue = citem->GetTitle();
602 DALI_TEST_EQUALS( testValue, kDefaultTitle, TEST_LOCATION );
604 const std::string kDefaultOriginalUrl( "http://originalurl" );
605 testValue = citem->GetOriginalUrl();
606 DALI_TEST_EQUALS( testValue, kDefaultOriginalUrl, TEST_LOCATION );
608 Dali::Toolkit::WebBackForwardListItem* item = bfList->GetItemAtIndex( 0 );
609 DALI_TEST_CHECK( item != 0 );
614 // test cases for web context.
616 int UtcDaliWebContextGetSetCacheModel(void)
618 ToolkitTestApplication application;
620 WebView view = WebView::New();
621 DALI_TEST_CHECK( view );
623 Dali::Toolkit::WebContext* context = view.GetContext();
624 DALI_TEST_CHECK( context != 0 )
626 std::string kDefaultValue;
629 context->SetProxyUri( kDefaultValue );
630 context->SetCertificateFilePath( kDefaultValue );
631 context->DisableCache( false );
632 context->SetDefaultProxyAuth( kDefaultValue, kDefaultValue );
633 context->DeleteWebDatabase();
634 context->DeleteWebStorage();
635 context->DeleteLocalFileSystem();
636 context->ClearCache();
638 // Check default value
639 Dali::WebEngineContext::CacheModel value = context->GetCacheModel();
640 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER );
642 // Check Set/GetProperty
643 context->SetCacheModel( Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
644 value = context->GetCacheModel();
645 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
650 // test cases for web cookie manager.
652 int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void)
654 ToolkitTestApplication application;
656 WebView view = WebView::New();
657 DALI_TEST_CHECK( view );
659 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
660 DALI_TEST_CHECK( cookieManager != 0 )
662 const std::string kDefaultValue;
665 cookieManager->SetPersistentStorage( kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE );
666 cookieManager->ClearCookies();
668 // Check default value
669 Dali::WebEngineCookieManager::CookieAcceptPolicy value = cookieManager->GetCookieAcceptPolicy();
670 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY );
672 // Check Set/GetProperty
673 cookieManager->SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
674 value = cookieManager->GetCookieAcceptPolicy();
675 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
680 // test cases for web settings.
682 int UtcDaliWebSettingsGetSetDefaultFontSize(void)
684 ToolkitTestApplication application;
686 WebView view = WebView::New();
687 DALI_TEST_CHECK( view );
689 Dali::Toolkit::WebSettings* settings = view.GetSettings();
690 DALI_TEST_CHECK( settings != 0 )
693 settings->AllowMixedContents( false );
694 settings->EnableSpatialNavigation( false );
695 settings->EnableWebSecurity( false );
696 settings->AllowFileAccessFromExternalUrl( false );
697 settings->AllowScriptsOpenWindows( false );
699 // Check default value
700 int value = settings->GetDefaultFontSize();
701 DALI_TEST_CHECK( value == 16 );
703 // Check Set/GetProperty
704 settings->SetDefaultFontSize( 20 );
705 value = settings->GetDefaultFontSize();
706 DALI_TEST_CHECK( value == 20 );
711 int UtcDaliWebSettingsCheckEnableJavaScript(void)
713 ToolkitTestApplication application;
715 WebView view = WebView::New();
716 DALI_TEST_CHECK( view );
718 Dali::Toolkit::WebSettings* settings = view.GetSettings();
719 DALI_TEST_CHECK( settings != 0 )
722 settings->AllowMixedContents( false );
723 settings->EnableSpatialNavigation( false );
724 settings->EnableWebSecurity( false );
725 settings->AllowFileAccessFromExternalUrl( false );
726 settings->AllowScriptsOpenWindows( false );
728 // Check default value is true or not
729 bool value = settings->IsJavaScriptEnabled();
730 DALI_TEST_CHECK( value );
732 // Check Set/GetProperty
733 settings->EnableJavaScript( false );
734 value = settings->IsJavaScriptEnabled();
735 DALI_TEST_CHECK( !value );
740 int UtcDaliWebSettingsCheckAllowImagesLoadAutomatically(void)
742 ToolkitTestApplication application;
744 WebView view = WebView::New();
745 DALI_TEST_CHECK( view );
747 Dali::Toolkit::WebSettings* settings = view.GetSettings();
748 DALI_TEST_CHECK( settings != 0 )
751 settings->AllowMixedContents( false );
752 settings->EnableSpatialNavigation( false );
753 settings->EnableWebSecurity( false );
754 settings->AllowFileAccessFromExternalUrl( false );
755 settings->AllowScriptsOpenWindows( false );
757 // Check default value is true or not
758 bool value = settings->AreImagesLoadedAutomatically();
759 DALI_TEST_CHECK( value );
761 // Check Set/GetProperty
762 settings->AllowImagesLoadAutomatically( false );
763 value = settings->AreImagesLoadedAutomatically();
764 DALI_TEST_CHECK( !value );
769 int UtcDaliWebSettingsGetSetDefaultTextEncodingName(void)
771 ToolkitTestApplication application;
773 WebView view = WebView::New();
774 DALI_TEST_CHECK( view );
776 Dali::Toolkit::WebSettings* settings = view.GetSettings();
777 DALI_TEST_CHECK( settings != 0 )
779 const std::string kDefaultValue;
780 const std::string kTestValue = "UTF-8";
783 settings->AllowMixedContents( false );
784 settings->EnableSpatialNavigation( false );
785 settings->EnableWebSecurity( false );
786 settings->AllowFileAccessFromExternalUrl( false );
787 settings->AllowScriptsOpenWindows( false );
789 // Check default value
790 std::string value = settings->GetDefaultTextEncodingName();
791 DALI_TEST_EQUALS( value, kDefaultValue, TEST_LOCATION );
793 // Check Set/GetProperty
794 settings->SetDefaultTextEncodingName( kTestValue );
795 value = settings->GetDefaultTextEncodingName();
796 DALI_TEST_EQUALS( value, kTestValue, TEST_LOCATION );
801 int UtcDaliWebViewNavigationPolicyDecisionRequest(void)
803 ToolkitTestApplication application;
805 WebView view = WebView::New();
806 DALI_TEST_CHECK(view);
809 view.RegisterNavigationPolicyDecidedCallback(&OnNavigationPolicyDecided);
810 DALI_TEST_EQUALS(gNavigationPolicyDecidedCallbackCalled, 0, TEST_LOCATION);
812 view.LoadUrl(TEST_URL1);
813 Test::EmitGlobalTimerSignal();
814 DALI_TEST_EQUALS(gNavigationPolicyDecidedCallbackCalled, 1, TEST_LOCATION);
819 int UtcDaliWebViewGetPlainText(void)
821 ToolkitTestApplication application;
823 WebView view = WebView::New();
824 DALI_TEST_CHECK(view);
826 view.LoadUrl(TEST_URL1);
828 view.GetPlainTextAsynchronously(&OnPlainTextReceived);
829 Test::EmitGlobalTimerSignal();
830 DALI_TEST_EQUALS(gPlainTextReceivedCallbackCalled, 1, TEST_LOCATION);