namespace Plugin
{
+namespace
+{
+
+template <typename Callback, typename... Args>
+void ExecuteCallback(Callback callback, Args... args)
+{
+ if (callback)
+ {
+ callback(args...);
+ }
+}
+
+template <typename Callback, typename Arg>
+void ExecuteCallback(Callback callback, std::unique_ptr<Arg> arg)
+{
+ if (callback)
+ {
+ callback(std::move(arg));
+ }
+}
+
+template <typename Ret, typename Callback, typename... Args>
+Ret ExecuteCallbackReturn(Callback callback, Args... args)
+{
+ Ret returnVal = Ret();
+ if (callback)
+ {
+ returnVal = callback(args...);
+ }
+ return returnVal;
+}
+
+template <typename Ret, typename Callback, typename Arg>
+Ret ExecuteCallbackReturn(Callback callback, std::unique_ptr<Arg> arg)
+{
+ Ret returnVal = Ret();
+ if (callback)
+ {
+ returnVal = callback(std::move(arg));
+ }
+ return returnVal;
+}
+
+}
+
class WebViewContainerClientPair
{
public:
Evas_Object* mWebView;
};
+//
+// A class for managing multiple WebViews
+//
class WebEngineManager
{
- //
- // A class for managing multiple WebViews
- //
public:
static WebEngineManager& Get()
{
return webViewClient.mWebView;
}
}
- return 0;
+ return nullptr;
}
WebViewContainerClient* FindContainerClient(Evas_Object* o)
return webViewClient.mClient;
}
}
- return 0;
+ return nullptr;
}
private:
&WebViewContainerForDali::OnUrlChanged,
&mClient);
evas_object_smart_callback_add(mWebView, "console,message",
- &WebViewContainerForDali::OnConsoleMessage,
+ &WebViewContainerForDali::OnConsoleMessageReceived,
&mClient);
evas_object_smart_callback_add(mWebView, "edge,left",
&WebViewContainerForDali::OnEdgeLeft,
&WebViewContainerForDali::OnEdgeBottom,
&mClient);
evas_object_smart_callback_add(mWebView, "form,repost,warning,show",
- &WebViewContainerForDali::OnFormRepostDecisionRequest,
+ &WebViewContainerForDali::OnFormRepostDecided,
&mClient);
evas_object_smart_callback_add(mWebView, "policy,response,decide",
&WebViewContainerForDali::OnResponsePolicyDecided,
&mClient);
evas_object_smart_callback_add(mWebView, "request,certificate,confirm",
- &WebViewContainerForDali::OnCertificateConfirmRequest,
+ &WebViewContainerForDali::OnCertificateConfirmed,
&mClient);
evas_object_smart_callback_add(mWebView, "ssl,certificate,changed",
&WebViewContainerForDali::OnSslCertificateChanged,
bool SendHoverEvent(const HoverEvent& hover)
{
-#if defined(OS_TIZEN_TV)
//TODO...left/right/middle of mouse could not be acquired now.
Ewk_Mouse_Button_Type type = EWK_Mouse_Button_Left;
- switch ( hover.GetState( 0 ) )
+ switch (hover.GetState(0))
{
case PointState::DOWN:
{
- float x = hover.GetScreenPosition( 0 ).x;
- float y = hover.GetScreenPosition( 0 ).y;
- ewk_view_feed_mouse_down( mWebView, type, x, y );
+ float x = hover.GetScreenPosition(0).x;
+ float y = hover.GetScreenPosition(0).y;
+ ewk_view_feed_mouse_down(mWebView, type, x, y);
break;
}
case PointState::UP:
{
- float x = hover.GetScreenPosition( 0 ).x;
- float y = hover.GetScreenPosition( 0 ).y;
- ewk_view_feed_mouse_up( mWebView, type, x, y );
+ float x = hover.GetScreenPosition(0).x;
+ float y = hover.GetScreenPosition(0).y;
+ ewk_view_feed_mouse_up(mWebView, type, x, y);
break;
}
case PointState::MOTION:
{
- float x = hover.GetScreenPosition( 0 ).x;
- float y = hover.GetScreenPosition( 0 ).y;
- ewk_view_feed_mouse_move( mWebView, x, y );
+ float x = hover.GetScreenPosition(0).x;
+ float y = hover.GetScreenPosition(0).y;
+ ewk_view_feed_mouse_move(mWebView, x, y);
break;
}
default:
break;
}
}
-#endif
return false;
}
bool SendWheelEvent(const WheelEvent& wheel)
{
-#if defined(OS_TIZEN_TV)
Eina_Bool direction = wheel.GetDirection() ? true : false;
int step = wheel.GetDelta();
float x = wheel.GetPoint().x;
float y = wheel.GetPoint().y;
- ewk_view_feed_mouse_wheel( mWebView, direction, step, x, y );
-#endif
+ ewk_view_feed_mouse_wheel(mWebView, direction, step, x, y);
return false;
}
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Error* error = static_cast<Ewk_Error*>(rawError);
- std::shared_ptr<Dali::WebEngineLoadError> loadError(new TizenWebEngineLoadError(error));
+ std::unique_ptr<Dali::WebEngineLoadError> loadError(new TizenWebEngineLoadError(error));
client->LoadError(std::move(loadError));
}
client->UrlChanged(url);
}
- static void OnConsoleMessage(void* data, Evas_Object*, void* eventInfo)
+ static void OnConsoleMessageReceived(void* data, Evas_Object*, void* eventInfo)
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Console_Message* message = static_cast<Ewk_Console_Message*>(eventInfo);
- std::shared_ptr<Dali::WebEngineConsoleMessage> webConsoleMessage(new TizenWebEngineConsoleMessage(message));
- client->OnConsoleMessage(std::move(webConsoleMessage));
+ std::unique_ptr<Dali::WebEngineConsoleMessage> webConsoleMessage(new TizenWebEngineConsoleMessage(message));
+ client->ConsoleMessageReceived(std::move(webConsoleMessage));
}
static void OnEdgeLeft(void* data, Evas_Object*, void*)
client->ScrollEdgeReached(Dali::WebEnginePlugin::ScrollEdge::BOTTOM);
}
- static void OnFormRepostDecisionRequest(void* data, Evas_Object*, void* eventInfo)
+ static void OnFormRepostDecided(void* data, Evas_Object*, void* eventInfo)
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Form_Repost_Decision_Request* decisionRequest = static_cast<Ewk_Form_Repost_Decision_Request*>(eventInfo);
- std::shared_ptr<Dali::WebEngineFormRepostDecision> webDecisionRequest(new TizenWebEngineFormRepostDecision(decisionRequest));
- client->RequestFormRepostDecision(std::move(webDecisionRequest));
+ std::unique_ptr<Dali::WebEngineFormRepostDecision> webDecisionRequest(new TizenWebEngineFormRepostDecision(decisionRequest));
+ client->RequestFormRepostDecided(std::move(webDecisionRequest));
}
static void OnScreenshotCaptured(Evas_Object* image, void* data)
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Policy_Decision* policyDecision = static_cast<Ewk_Policy_Decision*>(policy);
- std::shared_ptr<Dali::WebEnginePolicyDecision> webPolicyDecision(new TizenWebEnginePolicyDecision(policyDecision));
+ std::unique_ptr<Dali::WebEnginePolicyDecision> webPolicyDecision(new TizenWebEnginePolicyDecision(policyDecision));
client->ResponsePolicyDecided(std::move(webPolicyDecision));
}
- static void OnCertificateConfirmRequest(void* data, Evas_Object*, void* eventInfo)
+ static void OnCertificateConfirmed(void* data, Evas_Object*, void* eventInfo)
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Certificate_Policy_Decision* policyDecision = static_cast<Ewk_Certificate_Policy_Decision*>(eventInfo);
- std::shared_ptr<Dali::WebEngineCertificate> webPolicyDecision(new TizenWebEngineCertificate(policyDecision));
- client->CertificateConfirm(std::move(webPolicyDecision));
+ std::unique_ptr<Dali::WebEngineCertificate> webPolicyDecision(new TizenWebEngineCertificate(policyDecision));
+ client->CertificateConfirmed(std::move(webPolicyDecision));
}
static void OnSslCertificateChanged(void* data, Evas_Object*, void* eventInfo)
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Certificate_Info* info = static_cast<Ewk_Certificate_Info*>(eventInfo);
- std::shared_ptr<Dali::WebEngineCertificate> webCertiInfo(new TizenWebEngineCertificate(info));
+ std::unique_ptr<Dali::WebEngineCertificate> webCertiInfo(new TizenWebEngineCertificate(info));
client->SslCertificateChanged(std::move(webCertiInfo));
}
static void OnAuthenticationChallenge(Evas_Object*, Ewk_Auth_Challenge* authChallenge, void* data)
{
auto client = static_cast<WebViewContainerClient*>(data);
- std::shared_ptr<Dali::WebEngineHttpAuthHandler> authHandler(new TizenWebEngineHttpAuthHandler(authChallenge));
+ std::unique_ptr<Dali::WebEngineHttpAuthHandler> authHandler(new TizenWebEngineHttpAuthHandler(authChallenge));
client->AuthenticationChallenge(std::move(authHandler));
}
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Context_Menu* menu = (Ewk_Context_Menu*)eventInfo;
- std::shared_ptr<Dali::WebEngineContextMenu> contextMenu(new TizenWebEngineContextMenu(menu));
+ std::unique_ptr<Dali::WebEngineContextMenu> contextMenu(new TizenWebEngineContextMenu(menu));
client->ContextMenuShown(std::move(contextMenu));
}
{
auto client = static_cast<WebViewContainerClient*>(data);
Ewk_Context_Menu* menu = (Ewk_Context_Menu*)eventInfo;
- std::shared_ptr<Dali::WebEngineContextMenu> contextMenu(new TizenWebEngineContextMenu(menu));
+ std::unique_ptr<Dali::WebEngineContextMenu> contextMenu(new TizenWebEngineContextMenu(menu));
client->ContextMenuHidden(std::move(contextMenu));
}
}
}
-void TizenWebEngineChromium::EvaluateJavaScript(const std::string& script, std::function<void(const std::string&)> resultHandler)
+void TizenWebEngineChromium::EvaluateJavaScript(const std::string& script, JavaScriptMessageHandlerCallback resultHandler)
{
if (mWebViewContainer)
{
}
}
-void TizenWebEngineChromium::AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function<void(const std::string&)> handler)
+void TizenWebEngineChromium::AddJavaScriptMessageHandler(const std::string& exposedObjectName, JavaScriptMessageHandlerCallback handler)
{
if (mWebViewContainer)
{
}
}
-void TizenWebEngineChromium::RegisterJavaScriptAlertCallback(Dali::WebEnginePlugin::JavaScriptAlertCallback callback)
+void TizenWebEngineChromium::RegisterJavaScriptAlertCallback(JavaScriptAlertCallback callback)
{
if (!mWebViewContainer)
return;
}
}
-void TizenWebEngineChromium::RegisterJavaScriptConfirmCallback(Dali::WebEnginePlugin::JavaScriptConfirmCallback callback)
+void TizenWebEngineChromium::RegisterJavaScriptConfirmCallback(JavaScriptConfirmCallback callback)
{
if (!mWebViewContainer)
return;
}
}
-void TizenWebEngineChromium::RegisterJavaScriptPromptCallback(Dali::WebEnginePlugin::JavaScriptPromptCallback callback)
+void TizenWebEngineChromium::RegisterJavaScriptPromptCallback(JavaScriptPromptCallback callback)
{
if (!mWebViewContainer)
return;
return nullptr;
}
-bool TizenWebEngineChromium::CreateHitTestAsynchronously(int32_t x, int32_t y, Dali::WebEngineHitTest::HitTestMode mode, Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback callback)
+bool TizenWebEngineChromium::CreateHitTestAsynchronously(int32_t x, int32_t y, Dali::WebEngineHitTest::HitTestMode mode, WebEngineHitTestCreatedCallback callback)
{
bool result = false;
if (mWebViewContainer)
return Dali::PixelData();
}
-bool TizenWebEngineChromium::GetScreenshotAsynchronously(Dali::Rect<int32_t> viewArea, float scaleFactor, Dali::WebEnginePlugin::ScreenshotCapturedCallback callback)
+bool TizenWebEngineChromium::GetScreenshotAsynchronously(Dali::Rect<int32_t> viewArea, float scaleFactor, ScreenshotCapturedCallback callback)
{
if (mWebViewContainer)
{
return false;
}
-bool TizenWebEngineChromium::CheckVideoPlayingAsynchronously(Dali::WebEnginePlugin::VideoPlayingCallback callback)
+bool TizenWebEngineChromium::CheckVideoPlayingAsynchronously(VideoPlayingCallback callback)
{
if (mWebViewContainer)
{
bool TizenWebEngineChromium::SendWheelEvent( const Dali::WheelEvent& event )
{
- if( mWebViewContainer )
+ if(mWebViewContainer)
{
return mWebViewContainer->SendWheelEvent( event );
}
return false;
}
-Dali::WebEnginePlugin::WebEnginePageLoadSignalType& TizenWebEngineChromium::PageLoadStartedSignal()
+Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType& TizenWebEngineChromium::FrameRenderedSignal()
{
- return mLoadStartedSignal;
+ return mFrameRenderedSignal;
}
-Dali::WebEnginePlugin::WebEnginePageLoadSignalType& TizenWebEngineChromium::PageLoadInProgressSignal()
+void TizenWebEngineChromium::RegisterPageLoadStartedCallback(WebEnginePageLoadCallback callback)
{
- return mLoadInProgressSignal;
+ mLoadStartedCallback = callback;
}
-Dali::WebEnginePlugin::WebEnginePageLoadSignalType& TizenWebEngineChromium::PageLoadFinishedSignal()
+void TizenWebEngineChromium::RegisterPageLoadInProgressCallback(WebEnginePageLoadCallback callback)
{
- return mLoadFinishedSignal;
+ mLoadInProgressCallback = callback;
}
-Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType& TizenWebEngineChromium::PageLoadErrorSignal()
+void TizenWebEngineChromium::RegisterPageLoadFinishedCallback(WebEnginePageLoadCallback callback)
{
- return mLoadErrorSignal;
+ mLoadFinishedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& TizenWebEngineChromium::ScrollEdgeReachedSignal()
+void TizenWebEngineChromium::RegisterPageLoadErrorCallback(WebEnginePageLoadErrorCallback callback)
{
- return mScrollEdgeReachedSignal;
+ mLoadErrorCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& TizenWebEngineChromium::UrlChangedSignal()
+void TizenWebEngineChromium::RegisterScrollEdgeReachedCallback(WebEngineScrollEdgeReachedCallback callback)
{
- return mUrlChangedSignal;
+ mScrollEdgeReachedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineFormRepostDecisionSignalType& TizenWebEngineChromium::FormRepostDecisionSignal()
+void TizenWebEngineChromium::RegisterUrlChangedCallback(WebEngineUrlChangedCallback callback)
{
- return mFormRepostDecisionSignal;
+ mUrlChangedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType& TizenWebEngineChromium::FrameRenderedSignal()
+void TizenWebEngineChromium::RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback)
{
- return mFrameRenderedSignal;
+ mFormRepostDecidedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineRequestInterceptorSignalType& TizenWebEngineChromium::RequestInterceptorSignal()
+void TizenWebEngineChromium::RegisterRequestInterceptorCallback(WebEngineRequestInterceptorCallback callback)
{
- return mRequestInterceptorSignal;
+ mRequestInterceptedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineConsoleMessageSignalType& TizenWebEngineChromium::ConsoleMessageSignal()
+void TizenWebEngineChromium::RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback)
{
- return mConsoleMessageSignal;
+ mConsoleMessageReceivedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType& TizenWebEngineChromium::ResponsePolicyDecisionSignal()
+void TizenWebEngineChromium::RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback)
{
- return mResponsePolicyDecisionSignal;
+ mResponsePolicyDecidedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineCertificateSignalType& TizenWebEngineChromium::CertificateConfirmSignal()
+void TizenWebEngineChromium::RegisterCertificateConfirmedCallback(WebEngineCertificateCallback callback)
{
- return mCertificateConfirmSignal;
+ mCertificateConfirmedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineCertificateSignalType& TizenWebEngineChromium::SslCertificateChangedSignal()
+void TizenWebEngineChromium::RegisterSslCertificateChangedCallback(WebEngineCertificateCallback callback)
{
- return mSslCertificateChangedSignal;
+ mSslCertificateChangedCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineHttpAuthHandlerSignalType& TizenWebEngineChromium::HttpAuthHandlerSignal()
+void TizenWebEngineChromium::RegisterHttpAuthHandlerCallback(WebEngineHttpAuthHandlerCallback callback)
{
- return mHttpAuthHandlerSignal;
+ mHttpAuthHandlerCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineContextMenuShownSignalType& TizenWebEngineChromium::ContextMenuShownSignal()
+void TizenWebEngineChromium::RegisterContextMenuShownCallback(WebEngineContextMenuShownCallback callback)
{
- return mContextMenuShownSignal;
+ mContextMenuShownCallback = callback;
}
-Dali::WebEnginePlugin::WebEngineContextMenuHiddenSignalType& TizenWebEngineChromium::ContextMenuHiddenSignal()
+void TizenWebEngineChromium::RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback)
{
- return mContextMenuHiddenSignal;
+ mContextMenuHiddenCallback = callback;
}
// WebViewContainerClient Interface
void TizenWebEngineChromium::LoadStarted()
{
DALI_LOG_RELEASE_INFO("#LoadStarted : %s\n", GetUrl().c_str());
- mLoadStartedSignal.Emit(GetUrl());
+ ExecuteCallback(mLoadStartedCallback, GetUrl());
}
void TizenWebEngineChromium::LoadInProgress()
{
DALI_LOG_RELEASE_INFO("#LoadInProgress : %s\n", GetUrl().c_str());
- mLoadInProgressSignal.Emit("");
+ ExecuteCallback(mLoadInProgressCallback, "");
}
void TizenWebEngineChromium::LoadFinished()
{
DALI_LOG_RELEASE_INFO("#LoadFinished : %s\n", GetUrl().c_str());
- mLoadFinishedSignal.Emit(GetUrl());
+ ExecuteCallback(mLoadFinishedCallback, GetUrl());
}
-void TizenWebEngineChromium::LoadError(std::shared_ptr<Dali::WebEngineLoadError> error)
+void TizenWebEngineChromium::LoadError(std::unique_ptr<Dali::WebEngineLoadError> error)
{
DALI_LOG_RELEASE_INFO("#LoadError : %s\n", error->GetUrl().c_str());
- if (!mLoadErrorSignal.Empty())
- {
- mLoadErrorSignal.Emit(std::move(error));
- }
+ ExecuteCallback(mLoadErrorCallback, std::move(error));
}
void TizenWebEngineChromium::ScrollEdgeReached(Dali::WebEnginePlugin::ScrollEdge edge)
{
DALI_LOG_RELEASE_INFO("#ScrollEdgeReached : %d\n", edge);
- mScrollEdgeReachedSignal.Emit(edge);
+ ExecuteCallback(mScrollEdgeReachedCallback, edge);
}
void TizenWebEngineChromium::UrlChanged(const std::string& url)
{
DALI_LOG_RELEASE_INFO("#UrlChanged : %s\n", url.c_str());
- mUrlChangedSignal.Emit(url);
+ ExecuteCallback(mUrlChangedCallback, url);
}
-void TizenWebEngineChromium::RequestFormRepostDecision(std::shared_ptr<Dali::WebEngineFormRepostDecision> decision)
+void TizenWebEngineChromium::RequestFormRepostDecided(std::unique_ptr<Dali::WebEngineFormRepostDecision> decision)
{
- DALI_LOG_RELEASE_INFO("#FormRepostDecisionRequest\n");
- if (!mFormRepostDecisionSignal.Empty())
- {
- mFormRepostDecisionSignal.Emit(std::move(decision));
- }
+ DALI_LOG_RELEASE_INFO("#FormRepostDecidedRequest\n");
+ ExecuteCallback(mFormRepostDecidedCallback, std::move(decision));
}
-void TizenWebEngineChromium::OnConsoleMessage(std::shared_ptr<Dali::WebEngineConsoleMessage> message)
+void TizenWebEngineChromium::ConsoleMessageReceived(std::unique_ptr<Dali::WebEngineConsoleMessage> message)
{
- DALI_LOG_RELEASE_INFO("#OnConsoleMessage : %s\n", message->GetText());
- if (!mConsoleMessageSignal.Empty())
- {
- mConsoleMessageSignal.Emit(std::move(message));
- }
+ DALI_LOG_RELEASE_INFO("#ConsoleMessageReceived : %s\n", message->GetSource().c_str());
+ ExecuteCallback(mConsoleMessageReceivedCallback, std::move(message));
}
-void TizenWebEngineChromium::ResponsePolicyDecided(std::shared_ptr<Dali::WebEnginePolicyDecision> decision)
+void TizenWebEngineChromium::ResponsePolicyDecided(std::unique_ptr<Dali::WebEnginePolicyDecision> decision)
{
DALI_LOG_RELEASE_INFO("#ResponsePolicyDecided.\n");
- if (!mResponsePolicyDecisionSignal.Empty())
- {
- mResponsePolicyDecisionSignal.Emit(std::move(decision));
- }
+ ExecuteCallback(mResponsePolicyDecidedCallback, std::move(decision));
}
-void TizenWebEngineChromium::CertificateConfirm(std::shared_ptr<Dali::WebEngineCertificate> confirm)
+void TizenWebEngineChromium::CertificateConfirmed(std::unique_ptr<Dali::WebEngineCertificate> confirm)
{
- DALI_LOG_RELEASE_INFO("#CertificateConfirm.\n");
- if (!mCertificateConfirmSignal.Empty())
- {
- mCertificateConfirmSignal.Emit(std::move(confirm));
- }
+ DALI_LOG_RELEASE_INFO("#CertificateConfirmed.\n");
+ ExecuteCallback(mCertificateConfirmedCallback, std::move(confirm));
}
-void TizenWebEngineChromium::SslCertificateChanged(std::shared_ptr<Dali::WebEngineCertificate> info)
+void TizenWebEngineChromium::SslCertificateChanged(std::unique_ptr<Dali::WebEngineCertificate> info)
{
DALI_LOG_RELEASE_INFO("#SslCertificateChanged.\n");
- if (!mSslCertificateChangedSignal.Empty())
- {
- mSslCertificateChangedSignal.Emit(std::move(info));
- }
+ ExecuteCallback(mSslCertificateChangedCallback, std::move(info));
}
-void TizenWebEngineChromium::AuthenticationChallenge(std::shared_ptr<Dali::WebEngineHttpAuthHandler> handler)
+void TizenWebEngineChromium::AuthenticationChallenge(std::unique_ptr<Dali::WebEngineHttpAuthHandler> handler)
{
DALI_LOG_RELEASE_INFO("#AuthenticationChallenge.\n");
- if (!mHttpAuthHandlerSignal.Empty())
- {
- mHttpAuthHandlerSignal.Emit(std::move(handler));
- }
+ ExecuteCallback(mHttpAuthHandlerCallback, std::move(handler));
}
-void TizenWebEngineChromium::ContextMenuShown(std::shared_ptr<Dali::WebEngineContextMenu> menu)
+void TizenWebEngineChromium::ContextMenuShown(std::unique_ptr<Dali::WebEngineContextMenu> menu)
{
DALI_LOG_RELEASE_INFO("#ContextMenuShown.\n");
- if (!mContextMenuShownSignal.Empty())
- {
- mContextMenuShownSignal.Emit(std::move(menu));
- }
+ ExecuteCallback(mContextMenuShownCallback, std::move(menu));
}
-void TizenWebEngineChromium::ContextMenuHidden(std::shared_ptr<Dali::WebEngineContextMenu> menu)
+void TizenWebEngineChromium::ContextMenuHidden(std::unique_ptr<Dali::WebEngineContextMenu> menu)
{
DALI_LOG_RELEASE_INFO("#ContextMenuHidden.\n");
- if (!mContextMenuHiddenSignal.Empty())
- {
- mContextMenuHiddenSignal.Emit(std::move(menu));
- }
+ ExecuteCallback(mContextMenuHiddenCallback, std::move(menu));
}
void TizenWebEngineChromium::RunJavaScriptEvaluationResultHandler(size_t key, const char* result)
bool TizenWebEngineChromium::JavaScriptAlert(const std::string& alert_text)
{
- bool result = false;
- if (mJavaScriptAlertCallback)
- {
- result = mJavaScriptAlertCallback(alert_text);
- }
- return result;
+ return ExecuteCallbackReturn<bool>(mJavaScriptAlertCallback, alert_text);
}
bool TizenWebEngineChromium::JavaScriptConfirm(const std::string& message)
{
- bool result = false;
- if (mJavaScriptConfirmCallback)
- {
- result = mJavaScriptConfirmCallback(message);
- }
- return result;
+ return ExecuteCallbackReturn<bool>(mJavaScriptConfirmCallback, message);
}
bool TizenWebEngineChromium::JavaScriptPrompt(const std::string& message, const std::string& default_value)
{
- bool result = false;
- if (mJavaScriptPromptCallback)
- {
- result = mJavaScriptPromptCallback(message, default_value);
- }
- return result;
+ return ExecuteCallbackReturn<bool>(mJavaScriptPromptCallback, message, default_value);
}
void TizenWebEngineChromium::ScreenshotCaptured(Dali::PixelData pixelData)
{
DALI_LOG_RELEASE_INFO("#ScreenshotCaptured.\n");
- if (mScreenshotCapturedCallback)
- {
- mScreenshotCapturedCallback(pixelData);
- }
+ ExecuteCallback(mScreenshotCapturedCallback, pixelData);
}
void TizenWebEngineChromium::VideoPlaying(bool isPlaying)
{
- if (mVideoPlayingCallback)
- {
- mVideoPlayingCallback(isPlaying);
- }
+ ExecuteCallback(mVideoPlayingCallback, isPlaying);
}
bool TizenWebEngineChromium::GeolocationPermission(const std::string& host, const std::string& protocol)
{
- bool result = false;
- if (mGeolocationPermissionCallback)
- {
- result = mGeolocationPermissionCallback(host, protocol);
- }
- return result;
+ return ExecuteCallbackReturn<bool>(mGeolocationPermissionCallback, host, protocol);
}
bool TizenWebEngineChromium::HitTestCreated(std::unique_ptr<Dali::WebEngineHitTest> hitTest)
{
- bool result = false;
- if (mHitTestCreatedCallback)
- {
- result = mHitTestCreatedCallback(std::move(hitTest));
- }
- return result;
+ return ExecuteCallbackReturn<bool>(mHitTestCreatedCallback, std::move(hitTest));
}
} // namespace Plugin
* occurs in page loading.
* @param [in] error The error when loading a page.
*/
- virtual void LoadError(std::shared_ptr<Dali::WebEngineLoadError> error) = 0;
+ virtual void LoadError(std::unique_ptr<Dali::WebEngineLoadError> error) = 0;
/**
* @brief Callback function to be called by WebViewContainer when scroll edge
* policy would be decided.
* @param [in] decision The decision policy to show warning when form repost.
*/
- virtual void RequestFormRepostDecision(std::shared_ptr<Dali::WebEngineFormRepostDecision> decision) = 0;
+ virtual void RequestFormRepostDecided(std::unique_ptr<Dali::WebEngineFormRepostDecision> decision) = 0;
/**
* @brief Callback function to be called by WebViewContainer when url is
* message is logged out.
* @param [in] message Message need be logged out.
*/
- virtual void OnConsoleMessage(std::shared_ptr<Dali::WebEngineConsoleMessage> message) = 0;
+ virtual void ConsoleMessageReceived(std::unique_ptr<Dali::WebEngineConsoleMessage> message) = 0;
/**
* @brief Callback function to be called by WebViewContainer when new window
* policy would be decided.
* @param [in] decision Policy need be decided.
*/
- virtual void ResponsePolicyDecided(std::shared_ptr<Dali::WebEnginePolicyDecision> decision) = 0;
+ virtual void ResponsePolicyDecided(std::unique_ptr<Dali::WebEnginePolicyDecision> decision) = 0;
/**
* @brief Callback function to be called by WebViewContainer when certificate
* need be confirmed.
* @param [in] confirm Policy confirm request.
*/
- virtual void CertificateConfirm(std::shared_ptr<Dali::WebEngineCertificate> confirm) = 0;
+ virtual void CertificateConfirmed(std::unique_ptr<Dali::WebEngineCertificate> confirm) = 0;
/**
* @brief Callback function to be called by WebViewContainer when certificate
* is changed.
* @param [in] info Certificate information.
*/
- virtual void SslCertificateChanged(std::shared_ptr<Dali::WebEngineCertificate> info) = 0;
+ virtual void SslCertificateChanged(std::unique_ptr<Dali::WebEngineCertificate> info) = 0;
/**
* @brief Callback function to be called by WebViewContainer when
* authentication need be confirmed.
* @param [in] handler Http authentication challenge handler.
*/
- virtual void AuthenticationChallenge(std::shared_ptr<Dali::WebEngineHttpAuthHandler> handler) = 0;
+ virtual void AuthenticationChallenge(std::unique_ptr<Dali::WebEngineHttpAuthHandler> handler) = 0;
/**
* @brief Callback function to be called by WebViewContainer when context menu
* would be shown.
* @param [in] menu Menu would be shown.
*/
- virtual void ContextMenuShown(std::shared_ptr<Dali::WebEngineContextMenu> menu) = 0;
+ virtual void ContextMenuShown(std::unique_ptr<Dali::WebEngineContextMenu> menu) = 0;
/**
* @brief Callback function to be called by WebViewContainer when context menu
* would be hidden.
* @param [in] menu Menu would be hidden.
*/
- virtual void ContextMenuHidden(std::shared_ptr<Dali::WebEngineContextMenu> menu) = 0;
+ virtual void ContextMenuHidden(std::unique_ptr<Dali::WebEngineContextMenu> menu) = 0;
/**
* @brief Callback function to be called by WebViewContainer when it gets
class TizenWebEngineChromium : public Dali::WebEnginePlugin, public WebViewContainerClient
{
public:
- using JavaScriptCallback = std::function<void(const std::string&)>;
-
/**
* @brief Constructor.
*/
/**
* @copydoc Dali::WebEnginePlugin::EvaluateJavaScript()
*/
- void EvaluateJavaScript(const std::string& script, std::function<void(const std::string&)> resultHandler) override;
+ void EvaluateJavaScript(const std::string& script, JavaScriptMessageHandlerCallback resultHandler) override;
/**
* @copydoc Dali::WebEnginePlugin::AddJavaScriptMessageHandler()
*/
- void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function<void(const std::string&)> handler) override;
+ void AddJavaScriptMessageHandler(const std::string& exposedObjectName, JavaScriptMessageHandlerCallback handler) override;
/**
* @copydoc Dali::WebEnginePlugin::RegisterJavaScriptAlertCallback()
*/
- void RegisterJavaScriptAlertCallback(Dali::WebEnginePlugin::JavaScriptAlertCallback callback) override;
+ void RegisterJavaScriptAlertCallback(JavaScriptAlertCallback callback) override;
/**
* @copydoc Dali::WebEnginePlugin::JavaScriptAlertReply()
/**
* @copydoc Dali::WebEnginePlugin::RegisterJavaScriptConfirmCallback()
*/
- void RegisterJavaScriptConfirmCallback(Dali::WebEnginePlugin::JavaScriptConfirmCallback callback) override;
+ void RegisterJavaScriptConfirmCallback(JavaScriptConfirmCallback callback) override;
/**
* @copydoc Dali::WebEnginePlugin::JavaScriptConfirmReply()
/**
* @copydoc Dali::WebEnginePlugin::RegisterJavaScriptPromptCallback()
*/
- void RegisterJavaScriptPromptCallback(Dali::WebEnginePlugin::JavaScriptPromptCallback callback) override;
+ void RegisterJavaScriptPromptCallback(JavaScriptPromptCallback callback) override;
/**
* @copydoc Dali::WebEnginePlugin::JavaScriptPromptReply()
/**
* @copydoc Dali::WebEnginePlugin::HighlightText()
*/
- bool HighlightText(const std::string& text, FindOption options, uint32_t maxMatchCount) override;
+ bool HighlightText(const std::string& text, Dali::WebEnginePlugin::FindOption options, uint32_t maxMatchCount) override;
/**
* @copydoc Dali::WebEnginePlugin::AddDynamicCertificatePath()
bool SendWheelEvent(const Dali::WheelEvent &event) override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadStartedSignal()
+ * @copydoc Dali::WebEnginePlugin::FrameRenderedSignal()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal() override;
+ Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType& FrameRenderedSignal() override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadInProgressSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadStartedCallback()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadInProgressSignal() override;
+ void RegisterPageLoadStartedCallback(WebEnginePageLoadCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadFinishedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadInProgressCallback()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadFinishedSignal() override;
+ void RegisterPageLoadInProgressCallback(WebEnginePageLoadCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadErrorSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadFinishedCallback()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType& PageLoadErrorSignal() override;
+ void RegisterPageLoadFinishedCallback(WebEnginePageLoadCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ScrollEdgeReachedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadErrorCallback()
*/
- Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal() override;
+ void RegisterPageLoadErrorCallback(WebEnginePageLoadErrorCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::UrlChangedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterScrollEdgeReachedCallback()
*/
- Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& UrlChangedSignal() override;
+ void RegisterScrollEdgeReachedCallback(WebEngineScrollEdgeReachedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::FormRepostDecisionSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterUrlChangedCallback()
*/
- Dali::WebEnginePlugin::WebEngineFormRepostDecisionSignalType& FormRepostDecisionSignal() override;
+ void RegisterUrlChangedCallback(WebEngineUrlChangedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::FrameRenderedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterFormRepostDecidedCallback()
*/
- Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType& FrameRenderedSignal() override;
+ void RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::RequestInterceptorSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterRequestInterceptorCallback()
*/
- Dali::WebEnginePlugin::WebEngineRequestInterceptorSignalType& RequestInterceptorSignal() override;
+ void RegisterRequestInterceptorCallback(WebEngineRequestInterceptorCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ConsoleMessageSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterConsoleMessageReceivedCallback()
*/
- Dali::WebEnginePlugin::WebEngineConsoleMessageSignalType& ConsoleMessageSignal() override;
+ void RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ResponsePolicyDecisionSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterResponsePolicyDecidedCallback()
*/
- Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType& ResponsePolicyDecisionSignal() override;
+ void RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::CertificateConfirmSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterCertificateConfirmedCallback()
*/
- Dali::WebEnginePlugin::WebEngineCertificateSignalType& CertificateConfirmSignal() override;
+ void RegisterCertificateConfirmedCallback(WebEngineCertificateCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::SslCertificateChangedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterSslCertificateChangedCallback()
*/
- Dali::WebEnginePlugin::WebEngineCertificateSignalType& SslCertificateChangedSignal() override;
+ void RegisterSslCertificateChangedCallback(WebEngineCertificateCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::HttpAuthHandlerSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterHttpAuthHandlerCallback()
*/
- Dali::WebEnginePlugin::WebEngineHttpAuthHandlerSignalType& HttpAuthHandlerSignal() override;
+ void RegisterHttpAuthHandlerCallback(WebEngineHttpAuthHandlerCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ContextMenuShownSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterContextMenuShownCallback()
*/
- Dali::WebEnginePlugin::WebEngineContextMenuShownSignalType& ContextMenuShownSignal() override;
+ void RegisterContextMenuShownCallback(WebEngineContextMenuShownCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ContextMenuHiddenSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterContextMenuHiddenCallback()
*/
- Dali::WebEnginePlugin::WebEngineContextMenuHiddenSignalType& ContextMenuHiddenSignal() override;
+ void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) override;
// WebViewContainerClient Interface
/**
* @copydoc Dali::Plugin::WebViewContainerClient::LoadError()
*/
- void LoadError(std::shared_ptr<Dali::WebEngineLoadError> error) override;
+ void LoadError(std::unique_ptr<Dali::WebEngineLoadError> error) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::ScrollEdgeReached()
void ScrollEdgeReached(Dali::WebEnginePlugin::ScrollEdge edge) override;
/**
- * @copydoc Dali::Plugin::WebViewContainerClient::RequestFormRepostDecision()
+ * @copydoc Dali::Plugin::WebViewContainerClient::RequestFormRepostDecided()
*/
- void RequestFormRepostDecision(std::shared_ptr<Dali::WebEngineFormRepostDecision> decision) override;
+ void RequestFormRepostDecided(std::unique_ptr<Dali::WebEngineFormRepostDecision> decision) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::ResponsePolicyDecided()
*/
- void ResponsePolicyDecided(std::shared_ptr<Dali::WebEnginePolicyDecision> policy) override;
+ void ResponsePolicyDecided(std::unique_ptr<Dali::WebEnginePolicyDecision> policy) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::UrlChanged()
void UrlChanged(const std::string& url) override;
/**
- * @copydoc Dali::Plugin::WebViewContainerClient::OnConsoleMessage()
+ * @copydoc Dali::Plugin::WebViewContainerClient::ConsoleMessageReceived()
*/
- void OnConsoleMessage(std::shared_ptr<Dali::WebEngineConsoleMessage> message) override;
+ void ConsoleMessageReceived(std::unique_ptr<Dali::WebEngineConsoleMessage> message) override;
/**
- * @copydoc Dali::Plugin::WebViewContainerClient::CertificateConfirm()
+ * @copydoc Dali::Plugin::WebViewContainerClient::CertificateConfirmed()
*/
- void CertificateConfirm(std::shared_ptr<Dali::WebEngineCertificate> confirm) override;
+ void CertificateConfirmed(std::unique_ptr<Dali::WebEngineCertificate> confirm) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::SslCertificateChanged()
*/
- void SslCertificateChanged(std::shared_ptr<Dali::WebEngineCertificate> info) override;
+ void SslCertificateChanged(std::unique_ptr<Dali::WebEngineCertificate> info) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::AuthenticationChallenge()
*/
- void AuthenticationChallenge(std::shared_ptr<Dali::WebEngineHttpAuthHandler> handler) override;
+ void AuthenticationChallenge(std::unique_ptr<Dali::WebEngineHttpAuthHandler> handler) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::ContextMenuShown()
*/
- void ContextMenuShown(std::shared_ptr<Dali::WebEngineContextMenu> menu) override;
+ void ContextMenuShown(std::unique_ptr<Dali::WebEngineContextMenu> menu) override;
/**
* @copydoc Dali::Plugin::WebViewContainerClient::ContextMenuHidden()
*/
- void ContextMenuHidden(std::shared_ptr<Dali::WebEngineContextMenu> menu) override;
+ void ContextMenuHidden(std::unique_ptr<Dali::WebEngineContextMenu> menu) override;
/**
* @copydoc
Dali::NativeImageSourcePtr mDaliImageSrc;
size_t mJavaScriptEvaluationCount;
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType mLoadStartedSignal;
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType mLoadInProgressSignal;
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType mLoadFinishedSignal;
- Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType mLoadErrorSignal;
- Dali::WebEnginePlugin::WebEngineUrlChangedSignalType mUrlChangedSignal;
- Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType mScrollEdgeReachedSignal;
- Dali::WebEnginePlugin::WebEngineFormRepostDecisionSignalType mFormRepostDecisionSignal;
- Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType mFrameRenderedSignal;
- Dali::WebEnginePlugin::WebEngineRequestInterceptorSignalType mRequestInterceptorSignal;
- Dali::WebEnginePlugin::WebEngineConsoleMessageSignalType mConsoleMessageSignal;
- Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType mResponsePolicyDecisionSignal;
- Dali::WebEnginePlugin::WebEngineCertificateSignalType mCertificateConfirmSignal;
- Dali::WebEnginePlugin::WebEngineCertificateSignalType mSslCertificateChangedSignal;
- Dali::WebEnginePlugin::WebEngineHttpAuthHandlerSignalType mHttpAuthHandlerSignal;
- Dali::WebEnginePlugin::WebEngineContextMenuShownSignalType mContextMenuShownSignal;
- Dali::WebEnginePlugin::WebEngineContextMenuHiddenSignalType mContextMenuHiddenSignal;
-
- std::unordered_map<size_t, JavaScriptCallback> mJavaScriptEvaluationResultHandlers;
- std::unordered_map<std::string, JavaScriptCallback> mJavaScriptMessageHandlers;
-
- Dali::WebEnginePlugin::JavaScriptAlertCallback mJavaScriptAlertCallback;
- Dali::WebEnginePlugin::JavaScriptConfirmCallback mJavaScriptConfirmCallback;
- Dali::WebEnginePlugin::JavaScriptPromptCallback mJavaScriptPromptCallback;
- Dali::WebEnginePlugin::ScreenshotCapturedCallback mScreenshotCapturedCallback;
- Dali::WebEnginePlugin::VideoPlayingCallback mVideoPlayingCallback;
- Dali::WebEnginePlugin::GeolocationPermissionCallback mGeolocationPermissionCallback;
- Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback mHitTestCreatedCallback;
+ WebEngineFrameRenderedSignalType mFrameRenderedSignal;
+
+ WebEnginePageLoadCallback mLoadStartedCallback;
+ WebEnginePageLoadCallback mLoadInProgressCallback;
+ WebEnginePageLoadCallback mLoadFinishedCallback;
+ WebEnginePageLoadErrorCallback mLoadErrorCallback;
+ WebEngineUrlChangedCallback mUrlChangedCallback;
+ WebEngineScrollEdgeReachedCallback mScrollEdgeReachedCallback;
+ WebEngineFormRepostDecidedCallback mFormRepostDecidedCallback;
+ WebEngineRequestInterceptorCallback mRequestInterceptedCallback;
+ WebEngineConsoleMessageReceivedCallback mConsoleMessageReceivedCallback;
+ WebEngineResponsePolicyDecidedCallback mResponsePolicyDecidedCallback;
+ WebEngineCertificateCallback mCertificateConfirmedCallback;
+ WebEngineCertificateCallback mSslCertificateChangedCallback;
+ WebEngineHttpAuthHandlerCallback mHttpAuthHandlerCallback;
+ WebEngineContextMenuShownCallback mContextMenuShownCallback;
+ WebEngineContextMenuHiddenCallback mContextMenuHiddenCallback;
+ WebEngineHitTestCreatedCallback mHitTestCreatedCallback;
+ JavaScriptAlertCallback mJavaScriptAlertCallback;
+ JavaScriptConfirmCallback mJavaScriptConfirmCallback;
+ JavaScriptPromptCallback mJavaScriptPromptCallback;
+ ScreenshotCapturedCallback mScreenshotCapturedCallback;
+ VideoPlayingCallback mVideoPlayingCallback;
+ GeolocationPermissionCallback mGeolocationPermissionCallback;
+
+ std::unordered_map<size_t, JavaScriptMessageHandlerCallback> mJavaScriptEvaluationResultHandlers;
+ std::unordered_map<std::string, JavaScriptMessageHandlerCallback> mJavaScriptMessageHandlers;
};
} // namespace Plugin
} // namespace Dali
bool SendWheelEvent(const Dali::WheelEvent& event) override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadStartedSignal()
+ * @copydoc Dali::WebEnginePlugin::FrameRenderedSignal()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal() override
+ Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType& FrameRenderedSignal() override
{
- return mPageLoadStartedSignal;
+ return mFrameRenderedSignal;
}
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadInProgressSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadStartedCallback()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadInProgressSignal() override
- {
- return mPageLoadInProgressSignal;
- }
+ void RegisterPageLoadStartedCallback(WebEnginePageLoadCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadFinishedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadInProgressCallback()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadFinishedSignal() override
- {
- return mPageLoadFinishedSignal;
- }
+ void RegisterPageLoadInProgressCallback(WebEnginePageLoadCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::PageLoadErrorSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadFinishedCallback()
*/
- Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType& PageLoadErrorSignal() override
- {
- return mPageLoadErrorSignal;
- }
+ void RegisterPageLoadFinishedCallback(WebEnginePageLoadCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ScrollEdgeReachedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterPageLoadErrorCallback()
*/
- Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal() override
- {
- return mScrollEdgeReachedSignal;
- }
+ void RegisterPageLoadErrorCallback(WebEnginePageLoadErrorCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::UrlChangedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterScrollEdgeReachedCallback()
*/
- Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& UrlChangedSignal() override
- {
- return mUrlChangedSignal;
- }
+ void RegisterScrollEdgeReachedCallback(WebEngineScrollEdgeReachedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::FormRepostDecisionSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterUrlChangedCallback()
*/
- Dali::WebEnginePlugin::WebEngineFormRepostDecisionSignalType& FormRepostDecisionSignal() override
- {
- return mFormRepostDecisionSignal;
- }
+ void RegisterUrlChangedCallback(WebEngineUrlChangedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::FrameRenderedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterFormRepostDecidedCallback()
*/
- Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType& FrameRenderedSignal() override
- {
- return mFrameRenderedSignal;
- }
+ void RegisterFormRepostDecidedCallback(WebEngineFormRepostDecidedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::RequestInterceptorSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterRequestInterceptorCallback()
*/
- Dali::WebEnginePlugin::WebEngineRequestInterceptorSignalType& RequestInterceptorSignal() override
- {
- return mRequestInterceptorSignal;
- }
+ void RegisterRequestInterceptorCallback(WebEngineRequestInterceptorCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ConsoleMessageSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterConsoleMessageReceivedCallback()
*/
- Dali::WebEnginePlugin::WebEngineConsoleMessageSignalType& ConsoleMessageSignal() override
- {
- return mConsoleMessageSignal;
- }
+ void RegisterConsoleMessageReceivedCallback(WebEngineConsoleMessageReceivedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ResponsePolicyDecisionSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterResponsePolicyDecidedCallback()
*/
- Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType& ResponsePolicyDecisionSignal() override
- {
- return mResponsePolicyDecisionSignal;
- }
+ void RegisterResponsePolicyDecidedCallback(WebEngineResponsePolicyDecidedCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::CertificateConfirmSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterCertificateConfirmedCallback()
*/
- Dali::WebEnginePlugin::WebEngineCertificateSignalType& CertificateConfirmSignal() override
- {
- return mCertificateConfirmSignal;
- }
+ void RegisterCertificateConfirmedCallback(WebEngineCertificateCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::SslCertificateChangedSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterSslCertificateChangedCallback()
*/
- Dali::WebEnginePlugin::WebEngineCertificateSignalType& SslCertificateChangedSignal() override
- {
- return mSslCertificateChangedSignal;
- }
+ void RegisterSslCertificateChangedCallback(WebEngineCertificateCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::HttpAuthHandlerSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterHttpAuthHandlerCallback()
*/
- Dali::WebEnginePlugin::WebEngineHttpAuthHandlerSignalType& HttpAuthHandlerSignal() override
- {
- return mHttpAuthHandlerSignal;
- }
+ void RegisterHttpAuthHandlerCallback(WebEngineHttpAuthHandlerCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ContextMenuShownSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterContextMenuShownCallback()
*/
- Dali::WebEnginePlugin::WebEngineContextMenuShownSignalType& ContextMenuShownSignal() override
- {
- return mContextMenuShownSignal;
- }
+ void RegisterContextMenuShownCallback(WebEngineContextMenuShownCallback callback) override;
/**
- * @copydoc Dali::WebEnginePlugin::ContextMenuHiddenSignal()
+ * @copydoc Dali::WebEnginePlugin::RegisterContextMenuHiddenCallback()
*/
- Dali::WebEnginePlugin::WebEngineContextMenuHiddenSignalType& ContextMenuHiddenSignal() override
- {
- return mContextMenuHiddenSignal;
- }
+ void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) override;
private:
void UpdateBuffer();
EventThreadCallback mUpdateBufferTrigger;
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType mPageLoadStartedSignal;
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType mPageLoadInProgressSignal;
- Dali::WebEnginePlugin::WebEnginePageLoadSignalType mPageLoadFinishedSignal;
- Dali::WebEnginePlugin::WebEnginePageLoadErrorSignalType mPageLoadErrorSignal;
- Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType mScrollEdgeReachedSignal;
- Dali::WebEnginePlugin::WebEngineUrlChangedSignalType mUrlChangedSignal;
- Dali::WebEnginePlugin::WebEngineFormRepostDecisionSignalType mFormRepostDecisionSignal;
- Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType mFrameRenderedSignal;
- Dali::WebEnginePlugin::WebEngineRequestInterceptorSignalType mRequestInterceptorSignal;
- Dali::WebEnginePlugin::WebEngineConsoleMessageSignalType mConsoleMessageSignal;
- Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType mResponsePolicyDecisionSignal;
- Dali::WebEnginePlugin::WebEngineCertificateSignalType mCertificateConfirmSignal;
- Dali::WebEnginePlugin::WebEngineCertificateSignalType mSslCertificateChangedSignal;
- Dali::WebEnginePlugin::WebEngineHttpAuthHandlerSignalType mHttpAuthHandlerSignal;
- Dali::WebEnginePlugin::WebEngineContextMenuShownSignalType mContextMenuShownSignal;
- Dali::WebEnginePlugin::WebEngineContextMenuHiddenSignalType mContextMenuHiddenSignal;
+ WebEngineFrameRenderedSignalType mFrameRenderedSignal;
};
} // namespace Plugin