#include <dali/devel-api/adaptor-framework/web-engine-http-auth-handler.h>
#include <dali/devel-api/adaptor-framework/web-engine-load-error.h>
#include <dali/devel-api/adaptor-framework/web-engine-policy-decision.h>
-#include <dali/devel-api/adaptor-framework/web-engine-request-interceptor.h>
#include <dali/devel-api/adaptor-framework/web-engine-settings.h>
#include <dali/devel-api/common/stage.h>
#include <dali/devel-api/scripting/enum-helper.h>
#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
#include <dali-toolkit/public-api/image-loader/image.h>
#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
+#include <dali-toolkit/public-api/image-loader/image-url.h>
namespace Dali
{
DALI_PROPERTY_REGISTRATION(Toolkit, WebView, "textZoomFactor", FLOAT, TEXT_ZOOM_FACTOR )
DALI_PROPERTY_REGISTRATION(Toolkit, WebView, "loadProgressPercentage", FLOAT, LOAD_PROGRESS_PERCENTAGE )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "pageLoadStarted", PAGE_LOAD_STARTED_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "pageLoadInProgress", PAGE_LOAD_IN_PROGRESS_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "pageLoadFinished", PAGE_LOAD_FINISHED_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "pageLoadError", PAGE_LOAD_ERROR_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "scrollEdgeReached", SCROLL_EDGE_REACHED_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "urlChanged", URL_CHANGED_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "formRepostDecision", FORM_REPOST_DECISION_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "frameRendered", FRAME_RENDERED_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "requestInterceptor", REQUEST_INTERCEPTOR_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "consoleMessage", CONSOLE_MESSAGE_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "responsePolicyDecided", POLICY_DECISION )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "certificateConfirm", CERTIFICATE_CONFIRM_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "sslCertificateChanged", SSL_CERTIFICATE_CHANGED_SIGNAL)
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "httpAuthRequest", HTTP_AUTH_REQUEST_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "contextMenuShown", CONTEXT_MENU_SHOWN_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "contextMenuHidden", CONTEXT_MENU_HIDDEN_SIGNAL )
-
DALI_TYPE_REGISTRATION_END()
// clang-format on
mVisual(),
mWebViewSize(Stage::GetCurrent().GetSize()),
mWebEngine(),
- mPageLoadStartedSignal(),
- mPageLoadFinishedSignal(),
- mPageLoadErrorSignal(),
- mUrlChangedSignal(),
mWebViewArea(0, 0, mWebViewSize.width, mWebViewSize.height),
mVideoHoleEnabled(false),
mMouseEventsEnabled(true),
mVisual(),
mWebViewSize(Stage::GetCurrent().GetSize()),
mWebEngine(),
- mPageLoadStartedSignal(),
- mPageLoadFinishedSignal(),
- mPageLoadErrorSignal(),
- mUrlChangedSignal(),
mWebViewArea(0, 0, mWebViewSize.width, mWebViewSize.height),
mVideoHoleEnabled(false),
mMouseEventsEnabled(true),
{
if(mWebEngine)
{
+ mWebEngine.FrameRenderedSignal().Disconnect(this, &WebView::OnFrameRendered);
mWebEngine.Destroy();
}
}
if(mWebEngine)
{
- mWebEngine.PageLoadStartedSignal().Connect(this, &WebView::OnPageLoadStarted);
- mWebEngine.PageLoadInProgressSignal().Connect(this, &WebView::OnPageLoadInProgress);
- mWebEngine.PageLoadFinishedSignal().Connect(this, &WebView::OnPageLoadFinished);
- mWebEngine.PageLoadErrorSignal().Connect(this, &WebView::OnPageLoadError);
- mWebEngine.ScrollEdgeReachedSignal().Connect(this, &WebView::OnScrollEdgeReached);
- mWebEngine.UrlChangedSignal().Connect(this, &WebView::OnUrlChanged);
- mWebEngine.FormRepostDecisionSignal().Connect(this, &WebView::OnFormRepostDecision);
mWebEngine.FrameRenderedSignal().Connect(this, &WebView::OnFrameRendered);
- mWebEngine.RequestInterceptorSignal().Connect(this, &WebView::OnInterceptRequest);
- mWebEngine.ConsoleMessageSignal().Connect(this, &WebView::OnConsoleMessage);
- mWebEngine.ResponsePolicyDecisionSignal().Connect(this, &WebView::OnResponsePolicyDecided);
- mWebEngine.CertificateConfirmSignal().Connect(this, &WebView::OnCertificateConfirm);
- mWebEngine.SslCertificateChangedSignal().Connect(this, &WebView::OnSslCertificateChanged);
- mWebEngine.HttpAuthHandlerSignal().Connect(this, &WebView::OnHttpAuthenticationRequest);
- mWebEngine.ContextMenuShownSignal().Connect(this, &WebView::OnContextMenuShown);
- mWebEngine.ContextMenuHiddenSignal().Connect(this, &WebView::OnContextMenuHidden);
-
mWebContext = std::unique_ptr<Dali::Toolkit::WebContext>(new WebContext(mWebEngine.GetContext()));
mWebCookieManager = std::unique_ptr<Dali::Toolkit::WebCookieManager>(new WebCookieManager(mWebEngine.GetCookieManager()));
mWebSettings = std::unique_ptr<Dali::Toolkit::WebSettings>(new WebSettings(mWebEngine.GetSettings()));
return Dali::Toolkit::ImageView();
}
- std::string url = Dali::Toolkit::Image::GenerateUrl(pixel);
- Dali::Toolkit::ImageView imageView = Dali::Toolkit::ImageView::New(url);
+ Dali::Toolkit::ImageUrl url = Dali::Toolkit::Image::GenerateUrl(pixel);
+ Dali::Toolkit::ImageView imageView = Dali::Toolkit::ImageView::New(url.GetUrl());
imageView.SetProperty(Dali::Actor::Property::SIZE, Vector2(pixel.GetWidth(), pixel.GetHeight()));
return imageView;
}
-Dali::Toolkit::WebView::WebViewPageLoadSignalType& WebView::PageLoadStartedSignal()
+void WebView::RegisterPageLoadStartedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback)
{
- return mPageLoadStartedSignal;
-}
-
-Dali::Toolkit::WebView::WebViewPageLoadSignalType& WebView::PageLoadInProgressSignal()
-{
- return mPageLoadInProgressSignal;
-}
-
-Dali::Toolkit::WebView::WebViewPageLoadSignalType& WebView::PageLoadFinishedSignal()
-{
- return mPageLoadFinishedSignal;
-}
-
-Dali::Toolkit::WebView::WebViewPageLoadErrorSignalType& WebView::PageLoadErrorSignal()
-{
- return mPageLoadErrorSignal;
-}
-
-Dali::Toolkit::WebView::WebViewScrollEdgeReachedSignalType& WebView::ScrollEdgeReachedSignal()
-{
- return mScrollEdgeReachedSignal;
-}
-
-Dali::Toolkit::WebView::WebViewUrlChangedSignalType& WebView::UrlChangedSignal()
-{
- return mUrlChangedSignal;
-}
-
-Dali::Toolkit::WebView::WebViewFormRepostDecisionSignalType& WebView::FormRepostDecisionSignal()
-{
- return mFormRepostDecisionSignal;
-}
-
-Dali::Toolkit::WebView::WebViewFrameRenderedSignalType& WebView::FrameRenderedSignal()
-{
- return mFrameRenderedSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterPageLoadStartedCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewRequestInterceptorSignalType& WebView::RequestInterceptorSignal()
+void WebView::RegisterPageLoadInProgressCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback)
{
- return mRequestInterceptorSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterPageLoadInProgressCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewConsoleMessageSignalType& WebView::ConsoleMessageSignal()
+void WebView::RegisterPageLoadFinishedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback)
{
- return mConsoleMessageSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterPageLoadFinishedCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewResponsePolicyDecisionSignalType& WebView::ResponsePolicyDecisionSignal()
+void WebView::RegisterPageLoadErrorCallback(Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback callback)
{
- return mResponsePolicyDecisionSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterPageLoadErrorCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewCertificateSignalType& WebView::CertificateConfirmSignal()
+void WebView::RegisterScrollEdgeReachedCallback(Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback callback)
{
- return mCertificateConfirmSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterScrollEdgeReachedCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewCertificateSignalType& WebView::SslCertificateChangedSignal()
+void WebView::RegisterUrlChangedCallback(Dali::WebEnginePlugin::WebEngineUrlChangedCallback callback)
{
- return mSslCertificateChangedSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterUrlChangedCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewHttpAuthHandlerSignalType& WebView::HttpAuthHandlerSignal()
+void WebView::RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback callback)
{
- return mHttpAuthHandlerSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterFormRepostDecidedCallback(callback);
+ }
}
-Dali::Toolkit::WebView::WebViewContextMenuShownSignalType& WebView::ContextMenuShownSignal()
+void WebView::RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback)
{
- return mContextMenuShownSignal;
+ mFrameRenderedCallback = callback;
}
-Dali::Toolkit::WebView::WebViewContextMenuHiddenSignalType& WebView::ContextMenuHiddenSignal()
+void WebView::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
{
- return mContextMenuHiddenSignal;
+ if(mWebEngine)
+ {
+ mWebEngine.RegisterConsoleMessageReceivedCallback(callback);
+ }
}
-void WebView::OnPageLoadStarted(const std::string& url)
+void WebView::RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback callback)
{
- if(!mPageLoadStartedSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mPageLoadStartedSignal.Emit(handle, url);
+ mWebEngine.RegisterResponsePolicyDecidedCallback(callback);
}
}
-void WebView::OnPageLoadInProgress(const std::string& url)
+void WebView::RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback)
{
- if(!mPageLoadInProgressSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mPageLoadInProgressSignal.Emit(handle, url);
+ mWebEngine.RegisterCertificateConfirmedCallback(callback);
}
}
-void WebView::OnPageLoadFinished(const std::string& url)
+void WebView::RegisterSslCertificateChangedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback)
{
- if(!mPageLoadFinishedSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mPageLoadFinishedSignal.Emit(handle, url);
+ mWebEngine.RegisterSslCertificateChangedCallback(callback);
}
}
-void WebView::OnPageLoadError(std::shared_ptr<Dali::WebEngineLoadError> error)
+void WebView::RegisterHttpAuthHandlerCallback(Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback callback)
{
- if(!mPageLoadErrorSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mPageLoadErrorSignal.Emit(handle, std::move(error));
+ mWebEngine.RegisterHttpAuthHandlerCallback(callback);
}
}
-void WebView::OnScrollEdgeReached(Dali::WebEnginePlugin::ScrollEdge edge)
+void WebView::RegisterContextMenuShownCallback(Dali::WebEnginePlugin::WebEngineContextMenuShownCallback callback)
{
- if(!mScrollEdgeReachedSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mScrollEdgeReachedSignal.Emit(handle, edge);
+ mWebEngine.RegisterContextMenuShownCallback(callback);
}
}
-void WebView::OnUrlChanged(const std::string& url)
+void WebView::RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback)
{
- if(!mUrlChangedSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mUrlChangedSignal.Emit(handle, url);
+ mWebEngine.RegisterContextMenuHiddenCallback(callback);
}
}
-void WebView::OnFormRepostDecision(std::shared_ptr<Dali::WebEngineFormRepostDecision> decision)
+void WebView::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
{
- if(!mFormRepostDecisionSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mFormRepostDecisionSignal.Emit(handle, std::move(decision));
+ mWebEngine.GetPlainTextAsynchronously(callback);
}
}
void WebView::OnFrameRendered()
{
- if(!mFrameRenderedSignal.Empty())
+ if(mFrameRenderedCallback)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mFrameRenderedSignal.Emit(handle);
+ mFrameRenderedCallback();
}
}
}
}
-void WebView::OnInterceptRequest(std::shared_ptr<Dali::WebEngineRequestInterceptor> interceptor)
+void WebView::OnSceneConnection(int depth)
{
- if(!mRequestInterceptorSignal.Empty())
- {
- Dali::Toolkit::WebView handle(GetOwner());
- mRequestInterceptorSignal.Emit(handle, std::move(interceptor));
- }
+ Control::OnSceneConnection(depth);
+ EnableBlendMode(!mVideoHoleEnabled);
}
-void WebView::OnConsoleMessage(std::shared_ptr<Dali::WebEngineConsoleMessage> message)
+bool WebView::OnTouchEvent(Actor actor, const Dali::TouchEvent& touch)
{
- if(!mConsoleMessageSignal.Empty())
- {
- Dali::Toolkit::WebView handle(GetOwner());
- mConsoleMessageSignal.Emit(handle, std::move(message));
- }
-}
+ bool result = false;
-void WebView::OnResponsePolicyDecided(std::shared_ptr<Dali::WebEnginePolicyDecision> decision)
-{
- if(!mResponsePolicyDecisionSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mResponsePolicyDecisionSignal.Emit(handle, std::move(decision));
+ result = mWebEngine.SendTouchEvent(touch);
}
+ return result;
}
-void WebView::OnCertificateConfirm(std::shared_ptr<Dali::WebEngineCertificate> certificate)
+bool WebView::OnKeyEvent(const Dali::KeyEvent& event)
{
- if(!mCertificateConfirmSignal.Empty())
- {
- Dali::Toolkit::WebView handle(GetOwner());
- mCertificateConfirmSignal.Emit(handle, std::move(certificate));
- }
-}
+ bool result = false;
-void WebView::OnSslCertificateChanged(std::shared_ptr<Dali::WebEngineCertificate> certificate)
-{
- if(!mSslCertificateChangedSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mSslCertificateChangedSignal.Emit(handle, std::move(certificate));
+ result = mWebEngine.SendKeyEvent(event);
}
+ return result;
}
-void WebView::OnHttpAuthenticationRequest(std::shared_ptr<Dali::WebEngineHttpAuthHandler> handler)
+bool WebView::OnHoverEvent(Actor actor, const Dali::HoverEvent& hover)
{
- if(!mHttpAuthHandlerSignal.Empty())
+ bool result = false;
+ if(mWebEngine && mMouseEventsEnabled)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mHttpAuthHandlerSignal.Emit(handle, std::move(handler));
+ result = mWebEngine.SendHoverEvent(hover);
}
+ return result;
}
-void WebView::OnContextMenuShown(std::shared_ptr<Dali::WebEngineContextMenu> menu)
+bool WebView::OnWheelEvent(Actor actor, const Dali::WheelEvent& wheel)
{
- if(!mContextMenuShownSignal.Empty())
+ bool result = false;
+ if(mWebEngine && mMouseEventsEnabled)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mContextMenuShownSignal.Emit(handle, std::move(menu));
+ result = mWebEngine.SendWheelEvent(wheel);
}
+ return result;
}
-void WebView::OnContextMenuHidden(std::shared_ptr<Dali::WebEngineContextMenu> menu)
+void WebView::OnKeyInputFocusGained()
{
- if(!mContextMenuHiddenSignal.Empty())
+ if(mWebEngine)
{
- Dali::Toolkit::WebView handle(GetOwner());
- mContextMenuHiddenSignal.Emit(handle, std::move(menu));
+ mWebEngine.SetFocus(true);
}
+
+ EmitKeyInputFocusSignal(true); // Calls back into the Control hence done last.
}
-bool WebView::DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor)
+void WebView::OnKeyInputFocusLost()
{
- Dali::BaseHandle handle(object);
-
- bool connected = false;
- Toolkit::WebView webView = Toolkit::WebView::DownCast(handle);
-
- if(0 == strcmp(signalName.c_str(), PAGE_LOAD_STARTED_SIGNAL))
- {
- webView.PageLoadStartedSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), PAGE_LOAD_IN_PROGRESS_SIGNAL))
- {
- webView.PageLoadInProgressSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), PAGE_LOAD_FINISHED_SIGNAL))
- {
- webView.PageLoadFinishedSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), PAGE_LOAD_ERROR_SIGNAL))
- {
- webView.PageLoadErrorSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), SCROLL_EDGE_REACHED_SIGNAL))
- {
- webView.ScrollEdgeReachedSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), URL_CHANGED_SIGNAL))
- {
- webView.UrlChangedSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), FORM_REPOST_DECISION_SIGNAL))
- {
- webView.FormRepostDecisionSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), FRAME_RENDERED_SIGNAL))
- {
- webView.FrameRenderedSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), REQUEST_INTERCEPTOR_SIGNAL))
- {
- webView.RequestInterceptorSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), CONSOLE_MESSAGE_SIGNAL))
- {
- webView.ConsoleMessageSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), POLICY_DECISION))
- {
- webView.ResponsePolicyDecisionSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), CERTIFICATE_CONFIRM_SIGNAL))
- {
- webView.CertificateConfirmSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), SSL_CERTIFICATE_CHANGED_SIGNAL))
- {
- webView.SslCertificateChangedSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), HTTP_AUTH_REQUEST_SIGNAL))
- {
- webView.HttpAuthHandlerSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), CONTEXT_MENU_SHOWN_SIGNAL))
- {
- webView.ContextMenuShownSignal().Connect(tracker, functor);
- connected = true;
- }
- else if(0 == strcmp(signalName.c_str(), CONTEXT_MENU_HIDDEN_SIGNAL))
+ if(mWebEngine)
{
- webView.ContextMenuHiddenSignal().Connect(tracker, functor);
- connected = true;
+ mWebEngine.SetFocus(false);
}
- return connected;
+ EmitKeyInputFocusSignal(false); // Calls back into the Control hence done last.
}
Vector3 WebView::GetNaturalSize()
return Vector3(mWebViewSize);
}
-void WebView::OnSceneConnection(int depth)
-{
- Control::OnSceneConnection(depth);
-
- EnableBlendMode(!mVideoHoleEnabled);
-}
-
void WebView::SetProperty(BaseObject* object, Property::Index index, const Property::Value& value)
{
Toolkit::WebView webView = Toolkit::WebView::DownCast(Dali::BaseHandle(object));
return value;
}
-bool WebView::OnTouchEvent(Actor actor, const Dali::TouchEvent& touch)
-{
- bool result = false;
-
- if(mWebEngine)
- {
- result = mWebEngine.SendTouchEvent(touch);
- }
- return result;
-}
-
-bool WebView::OnKeyEvent(const Dali::KeyEvent& event)
-{
- bool result = false;
-
- if(mWebEngine)
- {
- result = mWebEngine.SendKeyEvent(event);
- }
- return result;
-}
-
-bool WebView::OnHoverEvent(Actor actor, const Dali::HoverEvent& hover)
-{
- bool result = false;
- if(mWebEngine && mMouseEventsEnabled)
- {
- result = mWebEngine.SendHoverEvent(hover);
- }
- return result;
-}
-
-bool WebView::OnWheelEvent(Actor actor, const Dali::WheelEvent& wheel)
-{
- bool result = false;
- if(mWebEngine && mMouseEventsEnabled)
- {
- result = mWebEngine.SendWheelEvent(wheel);
- }
- return result;
-}
-
-void WebView::OnKeyInputFocusGained()
-{
- if(mWebEngine)
- {
- mWebEngine.SetFocus(true);
- }
-
- EmitKeyInputFocusSignal(true); // Calls back into the Control hence done last.
-}
-
-void WebView::OnKeyInputFocusLost()
-{
- if(mWebEngine)
- {
- mWebEngine.SetFocus(false);
- }
-
- EmitKeyInputFocusSignal(false); // Calls back into the Control hence done last.
-}
-
void WebView::SetScrollPosition(int32_t x, int32_t y)
{
if(mWebEngine)