X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fweb-view%2Fweb-view-impl.cpp;h=3425c297d58b8155e93aa876aac7ff3cd44d61c8;hp=c4bf4e9da4186280399ac9a5c65f803ff268cc8f;hb=c8d4ad61a4b79eeaa077611d52b5a7271cd6af01;hpb=538e266eef5a998be3d6d4b6e1019ecd313d59d4;ds=sidebyside diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.cpp b/dali-toolkit/internal/controls/web-view/web-view-impl.cpp index c4bf4e9..3425c29 100755 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.cpp +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -30,12 +31,14 @@ #include #include #include +#include // INTERNAL INCLUDES #include #include #include #include +#include #include #include #include @@ -79,6 +82,8 @@ DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "pageLoadFinished", PAGE_LOAD_FINIS 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_TYPE_REGISTRATION_END() // clang-format on @@ -205,6 +210,8 @@ void WebView::OnInitialize() 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); mWebContext = std::unique_ptr(new WebContext(mWebEngine.GetContext())); mWebCookieManager = std::unique_ptr(new WebCookieManager(mWebEngine.GetCookieManager())); @@ -523,6 +530,16 @@ Dali::Toolkit::WebView::WebViewUrlChangedSignalType& WebView::UrlChangedSignal() return mUrlChangedSignal; } +Dali::Toolkit::WebView::WebViewFormRepostDecisionSignalType& WebView::FormRepostDecisionSignal() +{ + return mFormRepostDecisionSignal; +} + +Dali::Toolkit::WebView::WebViewFrameRenderedSignalType& WebView::FrameRenderedSignal() +{ + return mFrameRenderedSignal; +} + void WebView::OnPageLoadStarted(const std::string& url) { if(!mPageLoadStartedSignal.Empty()) @@ -577,6 +594,25 @@ void WebView::OnUrlChanged(const std::string& url) } } +void WebView::OnFormRepostDecision(std::shared_ptr decision) +{ + if(!mFormRepostDecisionSignal.Empty()) + { + Dali::Toolkit::WebView handle(GetOwner()); + std::shared_ptr repostDecision(new Dali::Toolkit::WebFormRepostDecision(decision)); + mFormRepostDecisionSignal.Emit(handle, std::move(repostDecision)); + } +} + +void WebView::OnFrameRendered() +{ + if(!mFrameRenderedSignal.Empty()) + { + Dali::Toolkit::WebView handle(GetOwner()); + mFrameRenderedSignal.Emit(handle); + } +} + bool WebView::DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor) { Dali::BaseHandle handle(object); @@ -614,6 +650,16 @@ bool WebView::DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tr 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; + } return connected; }