X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-web-engine.cpp;h=863a3b01c2c25f3d606a3f0ce79af105c483bef2;hb=fe08faff0b7bbe1f6573b42aa17201c513b793a6;hp=3f2797a491a87fdad6db191e6418a0404a3550d1;hpb=2b6baa7ad447110327e4ac22e7b3c3b6524c14da;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp index 3f2797a..863a3b0 100755 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,15 @@ #include "toolkit-timer.h" #include +#include +#include +#include +#include +#include +#include +#include #include #include -#include -#include #include namespace Dali @@ -37,46 +42,319 @@ class WebEngine; namespace { -static WebEngine* gInstance = NULL; + +// Generally only one WebEngine instance exists. +// If > 1, a new web engine has been created by CreateWindowSignal. +static WebEngine* gInstance = 0; static int gInstanceCount = 0; bool OnGoBack(); bool OnGoForward(); bool OnLoadUrl(); +bool OnEvaluteJavaScript(); +bool OnJavaScriptAlert(); +bool OnJavaScriptConfirm(); +bool OnJavaScriptPrompt(); +bool OnScrollEdge(); bool OnClearHistory(); -static void ConnectToGlobalSignal( bool (*func)() ) +static void ConnectToGlobalSignal( bool ( *func )() ) { Dali::Timer timer = Dali::Timer::New( 0 ); timer.TickSignal().Connect( func ); } -static void DisconnectFromGlobalSignal( bool (*func)() ) +static void DisconnectFromGlobalSignal( bool ( *func )() ) { Dali::Timer timer = Dali::Timer::New( 0 ); timer.TickSignal().Disconnect( func ); } -} +} // namespace anonymous + +class MockWebEngineContext : public Dali::WebEngineContext +{ +public: + MockWebEngineContext() + : mockModel( Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER ) + { + } + + Dali::WebEngineContext::CacheModel GetCacheModel() const override + { + return mockModel; + } + + void SetCacheModel( Dali::WebEngineContext::CacheModel cacheModel ) override + { + mockModel = cacheModel; + } + + void SetProxyUri( const std::string& uri ) override + { + } + + void SetDefaultProxyAuth( const std::string& username, const std::string& password ) override + { + } + + void SetCertificateFilePath( const std::string& certificatePath ) override + { + } + + void DeleteWebDatabase() override + { + } + + void DeleteWebStorage() override + { + } + + void DeleteLocalFileSystem() override + { + } + + void DisableCache( bool cacheDisabled ) override + { + } + + void ClearCache() override + { + } + +private: + Dali::WebEngineContext::CacheModel mockModel; +}; + +class MockWebEngineCookieManager : public Dali::WebEngineCookieManager +{ +public: + MockWebEngineCookieManager() + : mockCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY ) + { + } + + void SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy policy ) override + { + mockCookieAcceptPolicy = policy; + } + + Dali::WebEngineCookieManager::CookieAcceptPolicy GetCookieAcceptPolicy() const override + { + return mockCookieAcceptPolicy; + } + + void ClearCookies() override + { + } + + void SetPersistentStorage( const std::string& path, Dali::WebEngineCookieManager::CookiePersistentStorage storage ) override + { + } + +private: + Dali::WebEngineCookieManager::CookieAcceptPolicy mockCookieAcceptPolicy; +}; + +class MockWebEngineBackForwardListItem : public Dali::WebEngineBackForwardListItem +{ +public: + MockWebEngineBackForwardListItem() + : mockUrl( "http://url" ), + mockTitle( "title" ), + mockOriginalUrl( "http://originalurl" ) + { + } + + std::string GetUrl() const override + { + return mockUrl; + } + + std::string GetTitle() const override + { + return mockTitle; + } + + std::string GetOriginalUrl() const override + { + return mockOriginalUrl; + } + +private: + std::string mockUrl; + std::string mockTitle; + std::string mockOriginalUrl; +}; + +class MockWebEngineBackForwardList : public Dali::WebEngineBackForwardList +{ +public: + MockWebEngineBackForwardList( ) + : mockItem(), + pMockItem( &mockItem ) + { + } + + Dali::WebEngineBackForwardListItem& GetCurrentItem() const override + { + return *pMockItem; + } + + Dali::WebEngineBackForwardListItem& GetItemAtIndex( uint32_t index ) const override + { + return *pMockItem; + } + + uint32_t GetItemCount() const override + { + return 1; + } + +private: + MockWebEngineBackForwardListItem mockItem; + WebEngineBackForwardListItem* pMockItem; +}; + +class MockWebEngineSettings : public WebEngineSettings +{ +public: + MockWebEngineSettings() + : mockDefaultFontSize( 16 ), + mockJavaScriptEnabled( true ), + mockImageLoadedAutomatically( true ), + mockDefaultTextEncodingName() + { + } + + uint32_t GetDefaultFontSize() const override + { + return mockDefaultFontSize; + } + + void SetDefaultFontSize( uint32_t size ) override + { + mockDefaultFontSize = size; + } + + bool IsJavaScriptEnabled() const override + { + return mockJavaScriptEnabled; + } + + void EnableJavaScript( bool enabled ) override + { + mockJavaScriptEnabled = enabled; + } + + bool AreImagesLoadedAutomatically() const override + { + return mockImageLoadedAutomatically; + } + + void AllowImagesLoadAutomatically( bool automatic ) override + { + mockImageLoadedAutomatically = automatic; + } + + std::string GetDefaultTextEncodingName() const override + { + return mockDefaultTextEncodingName; + } + + void SetDefaultTextEncodingName( const std::string& defaultTextEncodingName ) override + { + mockDefaultTextEncodingName = defaultTextEncodingName; + } + + void AllowMixedContents( bool allowed ) override + { + } + + void EnableSpatialNavigation( bool enabled ) override + { + } + + void EnableWebSecurity( bool enabled ) override + { + } + + void AllowFileAccessFromExternalUrl( bool allowed ) override + { + } + + void AllowScriptsOpenWindows( bool allowed ) override + { + } + +private: + int mockDefaultFontSize; + bool mockJavaScriptEnabled; + bool mockImageLoadedAutomatically; + std::string mockDefaultTextEncodingName; +}; class WebEngine: public Dali::BaseObject { public: + using JavaScriptEvaluatedResultCallback = std::function; + using JavaScriptAlertCallback = std::function; + using JavaScriptConfirmCallback = std::function; + using JavaScriptPromptCallback = std::function; + WebEngine() : mUrl() , mCurrentPlusOnePos( 0 ) + , mUserAgent() + , mEvaluating( false ) + , mScrollPosition( 0, 0 ) + , mScrollSize( 500, 500 ) + , mContentSize( 500, 500 ) { gInstanceCount++; - gInstance = this; + if ( gInstanceCount == 1 ) // only first web engine need be saved. + { + gInstance = this; + } + + mockWebEngineSettings = new MockWebEngineSettings(); + mockWebEngineContext = new MockWebEngineContext(); + mockWebEngineCookieManager = new MockWebEngineCookieManager(); + mockWebEngineBackForwardList = new MockWebEngineBackForwardList(); } virtual ~WebEngine() { gInstanceCount--; - if ( !gInstanceCount ) + if( !gInstanceCount ) { - gInstance = NULL; + gInstance = 0; } + + delete mockWebEngineSettings; + delete mockWebEngineContext; + delete mockWebEngineCookieManager; + delete mockWebEngineBackForwardList; + } + + Dali::WebEngineSettings& GetSettings() const + { + return *mockWebEngineSettings; + } + + Dali::WebEngineContext& GetContext() const + { + return *mockWebEngineContext; + } + + Dali::WebEngineCookieManager& GetCookieManager() const + { + return *mockWebEngineCookieManager; + } + + Dali::WebEngineBackForwardList& GetBackForwardList() const + { + return *mockWebEngineBackForwardList; } void LoadUrl( const std::string& url ) @@ -90,6 +368,37 @@ public: return mUrl; } + std::string GetTitle() const + { + return std::string("title"); + } + + Dali::PixelData GetFavicon() const + { + uint8_t* faviconData = new uint8_t[ 16 ]; + + faviconData[ 0 ] = 0xff; + faviconData[ 1 ] = 0x00; + faviconData[ 2 ] = 0x00; + faviconData[ 3 ] = 0xff; + faviconData[ 4 ] = 0xff; + faviconData[ 5 ] = 0x00; + faviconData[ 6 ] = 0x00; + faviconData[ 7 ] = 0xff; + faviconData[ 8 ] = 0xff; + faviconData[ 9 ] = 0x00; + faviconData[ 10 ] = 0x00; + faviconData[ 11 ] = 0xff; + faviconData[ 12 ] = 0xff; + faviconData[ 13 ] = 0x00; + faviconData[ 14 ] = 0x00; + faviconData[ 15 ] = 0xff; + + return Dali::PixelData::New( faviconData, 16, 2, 2, + Dali::Pixel::Format::RGBA8888, + Dali::PixelData::ReleaseFunction::DELETE_ARRAY ); + } + bool CanGoForward() const { return mHistory.size() > mCurrentPlusOnePos; @@ -110,41 +419,146 @@ public: ConnectToGlobalSignal( &OnGoBack ); } + void EvaluateJavaScript( const std::string& script, std::function< void( const std::string& ) > resultHandler ) + { + if( resultHandler ) + { + if( !mEvaluating ) + { + ConnectToGlobalSignal( &OnEvaluteJavaScript ); + } + mResultCallbacks.push_back( resultHandler ); + } + } + + void RegisterJavaScriptAlertCallback( Dali::WebEnginePlugin::JavaScriptAlertCallback callback ) + { + if ( callback ) + { + ConnectToGlobalSignal( &OnJavaScriptAlert ); + mJavaScriptAlertCallback = callback; + } + } + + void RegisterJavaScriptConfirmCallback( Dali::WebEnginePlugin::JavaScriptConfirmCallback callback ) + { + if ( callback ) + { + ConnectToGlobalSignal( &OnJavaScriptConfirm ); + mJavaScriptConfirmCallback = callback; + } + } + + void RegisterJavaScriptPromptCallback( Dali::WebEnginePlugin::JavaScriptPromptCallback callback ) + { + if ( callback ) + { + ConnectToGlobalSignal( &OnJavaScriptPrompt ); + mJavaScriptPromptCallback = callback; + } + } + void ClearHistory() { ConnectToGlobalSignal( &OnClearHistory ); } - Dali::WebEnginePlugin::WebEngineSignalType& PageLoadStartedSignal() + const std::string& GetUserAgent() const + { + return mUserAgent; + } + + void SetUserAgent( const std::string& userAgent ) + { + mUserAgent = userAgent; + } + + void ScrollBy( int dx, int dy ) + { + mScrollPosition += Dali::Vector2( dx, dy ); + if ( mScrollPosition.y + mScrollSize.height > mContentSize.height ) + { + ConnectToGlobalSignal( &OnScrollEdge ); + } + } + + void SetScrollPosition( int x, int y ) + { + mScrollPosition.x = x; + mScrollPosition.y = y; + } + + Dali::Vector2 GetScrollPosition() const + { + return mScrollPosition; + } + + Dali::Vector2 GetScrollSize() const + { + return mScrollSize; + } + + Dali::Vector2 GetContentSize() const + { + return mContentSize; + } + + Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal() { return mPageLoadStartedSignal; } - Dali::WebEnginePlugin::WebEngineSignalType& PageLoadFinishedSignal() + Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadInProgressSignal() + { + return mPageLoadInProgressSignal; + } + + Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadFinishedSignal() { return mPageLoadFinishedSignal; } - std::string mUrl; - std::vector< std::string > mHistory; - size_t mCurrentPlusOnePos; - Dali::WebEnginePlugin::WebEngineSignalType mPageLoadStartedSignal; - Dali::WebEnginePlugin::WebEngineSignalType mPageLoadFinishedSignal; -}; + Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType& PageLoadErrorSignal() + { + return mPageLoadErrorSignal; + } -inline WebEngine& GetImplementation( Dali::WebEngine& webEngine ) -{ - DALI_ASSERT_ALWAYS( webEngine && "WebEngine handle is empty." ); - BaseObject& handle = webEngine.GetBaseObject(); - return static_cast< Internal::Adaptor::WebEngine& >( handle ); -} + Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal() + { + return mScrollEdgeReachedSignal; + } + + Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& UrlChangedSignal() + { + return mUrlChangedSignal; + } + + std::string mUrl; + std::vector< std::string > mHistory; + size_t mCurrentPlusOnePos; + std::string mUserAgent; + Dali::WebEnginePlugin::WebEnginePageLoadSignalType mPageLoadStartedSignal; + Dali::WebEnginePlugin::WebEnginePageLoadSignalType mPageLoadInProgressSignal; + Dali::WebEnginePlugin::WebEnginePageLoadSignalType mPageLoadFinishedSignal; + Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType mPageLoadErrorSignal; + std::vector mResultCallbacks; + bool mEvaluating; + + Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType mScrollEdgeReachedSignal; + Dali::Vector2 mScrollPosition; + Dali::Vector2 mScrollSize; + Dali::Vector2 mContentSize; + WebEngineBackForwardList* mockWebEngineBackForwardList; + WebEngineContext* mockWebEngineContext; + WebEngineCookieManager* mockWebEngineCookieManager; + WebEngineSettings* mockWebEngineSettings; + Dali::WebEnginePlugin::WebEngineUrlChangedSignalType mUrlChangedSignal; + + JavaScriptAlertCallback mJavaScriptAlertCallback; + JavaScriptConfirmCallback mJavaScriptConfirmCallback; + JavaScriptPromptCallback mJavaScriptPromptCallback; +}; -inline const WebEngine& GetImplementation( const Dali::WebEngine& webEngine ) -{ - DALI_ASSERT_ALWAYS( webEngine && "WebEngine handle is empty." ); - const BaseObject& handle = webEngine.GetBaseObject(); - return static_cast< const Internal::Adaptor::WebEngine& >( handle ); -} namespace { @@ -153,7 +567,7 @@ bool OnGoBack() { DisconnectFromGlobalSignal( &OnGoBack ); - if ( gInstance && gInstance->CanGoBack() ) + if( gInstance && gInstance->CanGoBack() ) { gInstance->mCurrentPlusOnePos--; } @@ -164,7 +578,7 @@ bool OnGoForward() { DisconnectFromGlobalSignal( &OnGoForward ); - if ( gInstance && gInstance->CanGoForward() ) + if( gInstance && gInstance->CanGoForward() ) { gInstance->mCurrentPlusOnePos++; } @@ -175,18 +589,76 @@ bool OnLoadUrl() { DisconnectFromGlobalSignal( &OnLoadUrl ); - if ( gInstance ) + if( gInstance ) { - if ( gInstance->mHistory.size() > gInstance->mCurrentPlusOnePos ) + if( gInstance->mHistory.size() > gInstance->mCurrentPlusOnePos ) { gInstance->mHistory.erase( gInstance->mHistory.begin() + gInstance->mCurrentPlusOnePos, gInstance->mHistory.end() ); } gInstance->mHistory.push_back( gInstance->mUrl ); gInstance->mCurrentPlusOnePos++; gInstance->mPageLoadStartedSignal.Emit( gInstance->mUrl ); + gInstance->mPageLoadInProgressSignal.Emit( gInstance->mUrl ); gInstance->mPageLoadFinishedSignal.Emit( gInstance->mUrl ); + gInstance->mUrlChangedSignal.Emit( "http://new-test" ); } + return false; +} + +bool OnScrollEdge() +{ + DisconnectFromGlobalSignal( &OnScrollEdge ); + + if( gInstance ) + { + gInstance->mScrollEdgeReachedSignal.Emit( Dali::WebEnginePlugin::ScrollEdge::BOTTOM ); + } + + return false; +} + +bool OnEvaluteJavaScript() +{ + DisconnectFromGlobalSignal( &OnEvaluteJavaScript ); + + if( gInstance ) + { + for( auto& func : gInstance->mResultCallbacks ) + { + func("undefined"); + } + gInstance->mResultCallbacks.clear(); + } + return false; +} + +bool OnJavaScriptAlert() +{ + DisconnectFromGlobalSignal( &OnJavaScriptAlert ); + if ( gInstance ) + { + gInstance->mJavaScriptAlertCallback( "this is an alert popup." ); + } + return false; +} +bool OnJavaScriptConfirm() +{ + DisconnectFromGlobalSignal( &OnJavaScriptConfirm ); + if ( gInstance ) + { + gInstance->mJavaScriptConfirmCallback( "this is a confirm popup." ); + } + return false; +} + +bool OnJavaScriptPrompt() +{ + DisconnectFromGlobalSignal( &OnJavaScriptPrompt ); + if ( gInstance ) + { + gInstance->mJavaScriptPromptCallback( "this is a prompt pompt.", "" ); + } return false; } @@ -194,7 +666,8 @@ bool OnClearHistory() { DisconnectFromGlobalSignal( &OnClearHistory ); - if ( gInstance && gInstance->mCurrentPlusOnePos ) { + if( gInstance && gInstance->mCurrentPlusOnePos ) + { std::string url = gInstance->mHistory[ gInstance->mCurrentPlusOnePos - 1 ]; std::vector< std::string >().swap( gInstance->mHistory ); gInstance->mHistory.push_back( url ); @@ -202,13 +675,27 @@ bool OnClearHistory() } return false; } + } // namespace +inline WebEngine& GetImplementation( Dali::WebEngine& webEngine ) +{ + DALI_ASSERT_ALWAYS( webEngine && "WebEngine handle is empty." ); + BaseObject& handle = webEngine.GetBaseObject(); + return static_cast< Internal::Adaptor::WebEngine& >( handle ); +} + +inline const WebEngine& GetImplementation( const Dali::WebEngine& webEngine ) +{ + DALI_ASSERT_ALWAYS( webEngine && "WebEngine handle is empty." ); + const BaseObject& handle = webEngine.GetBaseObject(); + return static_cast< const Internal::Adaptor::WebEngine& >( handle ); +} + } // namespace Adaptor } // namespace Internal - // Dali::WebEngine Implementation WebEngine::WebEngine() { @@ -250,15 +737,49 @@ void WebEngine::Create( int width, int height, const std::string& locale, const { } +void WebEngine::Create( int width, int height, int argc, char** argv ) +{ +} + void WebEngine::Destroy() { } +WebEngineSettings& WebEngine::GetSettings() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetSettings(); +} + +WebEngineContext& WebEngine::GetContext() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetContext(); +} + +WebEngineCookieManager& WebEngine::GetCookieManager() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetCookieManager(); +} + +WebEngineBackForwardList& WebEngine::GetBackForwardList() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetBackForwardList(); +} + void WebEngine::LoadUrl( const std::string& url ) { return Internal::Adaptor::GetImplementation( *this ).LoadUrl( url ); } +std::string WebEngine::GetTitle() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetTitle(); +} + +Dali::PixelData WebEngine::GetFavicon() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetFavicon(); +} + const std::string& WebEngine::GetUrl() { return Internal::Adaptor::GetImplementation( *this ).GetUrl(); @@ -271,7 +792,7 @@ NativeImageInterfacePtr WebEngine::GetNativeImageSource() return sourcePtr; } -void WebEngine::LoadHTMLString( const std::string& htmlString ) +void WebEngine::LoadHtmlString( const std::string& htmlString ) { } @@ -283,6 +804,14 @@ void WebEngine::StopLoading() { } +void WebEngine::Suspend() +{ +} + +void WebEngine::Resume() +{ +} + bool WebEngine::CanGoForward() { return Internal::Adaptor::GetImplementation( *this ).CanGoForward(); @@ -303,15 +832,43 @@ void WebEngine::GoBack() Internal::Adaptor::GetImplementation( *this ).GoBack(); } -void WebEngine::EvaluateJavaScript( const std::string& script ) +void WebEngine::EvaluateJavaScript( const std::string& script, std::function< void( const std::string& ) > resultHandler ) +{ + Internal::Adaptor::GetImplementation( *this ).EvaluateJavaScript( script, resultHandler ); +} + +void WebEngine::AddJavaScriptMessageHandler( const std::string& exposedObjectName, std::function< void(const std::string&) > handler ) +{ +} + +void WebEngine::RegisterJavaScriptAlertCallback( Dali::WebEnginePlugin::JavaScriptAlertCallback callback ) +{ + Internal::Adaptor::GetImplementation( *this ).RegisterJavaScriptAlertCallback( callback ); +} + +void WebEngine::JavaScriptAlertReply() +{ +} + +void WebEngine::RegisterJavaScriptConfirmCallback( Dali::WebEnginePlugin::JavaScriptConfirmCallback callback ) +{ + Internal::Adaptor::GetImplementation( *this ).RegisterJavaScriptConfirmCallback( callback ); +} + +void WebEngine::JavaScriptConfirmReply( bool confirmed ) +{ +} + +void WebEngine::RegisterJavaScriptPromptCallback( Dali::WebEnginePlugin::JavaScriptPromptCallback callback ) { + Internal::Adaptor::GetImplementation( *this ).RegisterJavaScriptPromptCallback( callback ); } -void WebEngine::AddJavaScriptInterface( const std::string& exposedObjectName, const std::string& jsFunctionName, std::function< std::string(const std::string&) > cb ) +void WebEngine::JavaScriptPromptReply( const std::string& result ) { } -void WebEngine::RemoveJavascriptInterface( const std::string& exposedObjectName, const std::string& jsFunctionName ) +void WebEngine::ClearAllTilesResources() { } @@ -320,15 +877,46 @@ void WebEngine::ClearHistory() Internal::Adaptor::GetImplementation( *this ).ClearHistory(); } -void WebEngine::ClearCache() +const std::string& WebEngine::GetUserAgent() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetUserAgent(); +} + +void WebEngine::SetUserAgent( const std::string& userAgent ) +{ + Internal::Adaptor::GetImplementation( *this ).SetUserAgent( userAgent ); +} + +void WebEngine::ScrollBy( int dx, int dy ) +{ + Internal::Adaptor::GetImplementation( *this ).ScrollBy( dx, dy ); +} + +void WebEngine::SetScrollPosition( int x, int y ) +{ + Internal::Adaptor::GetImplementation( *this ).SetScrollPosition( x, y ); +} + +Dali::Vector2 WebEngine::GetScrollPosition() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetScrollPosition(); +} + +Dali::Vector2 WebEngine::GetScrollSize() const +{ + return Internal::Adaptor::GetImplementation( *this ).GetScrollSize(); +} + +Dali::Vector2 WebEngine::GetContentSize() const { + return Internal::Adaptor::GetImplementation( *this ).GetContentSize(); } void WebEngine::SetSize( int width, int height ) { } -bool WebEngine::SendTouchEvent( const TouchData& touch ) +bool WebEngine::SendTouchEvent( const TouchEvent& touch ) { return true; } @@ -338,15 +926,47 @@ bool WebEngine::SendKeyEvent( const KeyEvent& event ) return true; } -Dali::WebEnginePlugin::WebEngineSignalType& WebEngine::PageLoadStartedSignal() +void WebEngine::SetFocus( bool focused ) +{ +} + +void WebEngine::UpdateDisplayArea( Dali::Rect< int > displayArea ) +{ +} + +void WebEngine::EnableVideoHole( bool enabled ) +{ +} + +Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadStartedSignal() { return Internal::Adaptor::GetImplementation( *this ).PageLoadStartedSignal(); } -Dali::WebEnginePlugin::WebEngineSignalType& WebEngine::PageLoadFinishedSignal() +Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadInProgressSignal() +{ + return Internal::Adaptor::GetImplementation( *this ).PageLoadInProgressSignal(); +} + +Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadFinishedSignal() { return Internal::Adaptor::GetImplementation( *this ).PageLoadFinishedSignal(); } +Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType& WebEngine::PageLoadErrorSignal() +{ + return Internal::Adaptor::GetImplementation( *this ).PageLoadErrorSignal(); +} + +Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& WebEngine::ScrollEdgeReachedSignal() +{ + return Internal::Adaptor::GetImplementation( *this ).ScrollEdgeReachedSignal(); +} + +Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& WebEngine::UrlChangedSignal() +{ + return Internal::Adaptor::GetImplementation( *this ).UrlChangedSignal(); +} + } // namespace Dali;