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.h;h=ca1ec27271e1723bef6844193d021f39f0205afe;hp=4031ee6a17873891772eee7f09ed01669f7e5393;hb=8ebe42b2ca06a57a08b02a975146af34c1b9bcd6;hpb=950447e00422e94e22ce64a69a13ebf1235b12c6 diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.h b/dali-toolkit/internal/controls/web-view/web-view-impl.h index 4031ee6..ca1ec27 100755 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.h +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.h @@ -95,7 +95,7 @@ public: /** * @copydoc Dali::Toolkit::WebView::GetFavicon() */ - Dali::Toolkit::ImageView& GetFavicon(); + Dali::Toolkit::ImageView GetFavicon() const; /** * @copydoc Dali::Toolkit::WebView::LoadUrl() @@ -205,12 +205,12 @@ public: /** * @copydoc Dali::Toolkit::WebView::EvaluateJavaScript() */ - void EvaluateJavaScript(const std::string& script, std::function resultHandler); + void EvaluateJavaScript(const std::string& script, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback resultHandler); /** * @copydoc Dali::Toolkit::WebView::AddJavaScriptMessageHandler() */ - void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function handler); + void AddJavaScriptMessageHandler(const std::string& exposedObjectName, Dali::WebEnginePlugin::JavaScriptMessageHandlerCallback handler); /** * @copydoc Dali::Toolkit::WebView::RegisterJavaScriptAlertCallback() @@ -308,84 +308,89 @@ public: void RegisterGeolocationPermissionCallback(Dali::WebEnginePlugin::GeolocationPermissionCallback callback); /** - * @copydoc Dali::Toolkit::WebView::PageLoadStartedSignal() + * @copydoc Dali::Toolkit::WebView::SetTtsFocus() */ - Dali::Toolkit::WebView::WebViewPageLoadSignalType& PageLoadStartedSignal(); + void SetTtsFocus(bool focused); /** - * @copydoc Dali::Toolkit::WebView::PageLoadInProgressSignal() + * @copydoc Dali::Toolkit::WebView::RegisterPageLoadStartedCallback() */ - Dali::Toolkit::WebView::WebViewPageLoadSignalType& PageLoadInProgressSignal(); + void RegisterPageLoadStartedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback); /** - * @copydoc Dali::Toolkit::WebView::PageLoadFinishedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterPageLoadInProgressCallback() */ - Dali::Toolkit::WebView::WebViewPageLoadSignalType& PageLoadFinishedSignal(); + void RegisterPageLoadInProgressCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback); /** - * @copydoc Dali::Toolkit::WebView::PageLoadErrorSignal() + * @copydoc Dali::Toolkit::WebView::RegisterPageLoadFinishedCallback() */ - Dali::Toolkit::WebView::WebViewPageLoadErrorSignalType& PageLoadErrorSignal(); + void RegisterPageLoadFinishedCallback(Dali::WebEnginePlugin::WebEnginePageLoadCallback callback); /** - * @copydoc Dali::Toolkit::WebView::ScrollEdgeReachedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterPageLoadErrorCallback() */ - Dali::Toolkit::WebView::WebViewScrollEdgeReachedSignalType& ScrollEdgeReachedSignal(); + void RegisterPageLoadErrorCallback(Dali::WebEnginePlugin::WebEnginePageLoadErrorCallback callback); /** - * @copydoc Dali::Toolkit::WebView::UrlChangedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterScrollEdgeReachedCallback() */ - Dali::Toolkit::WebView::WebViewUrlChangedSignalType& UrlChangedSignal(); + void RegisterScrollEdgeReachedCallback(Dali::WebEnginePlugin::WebEngineScrollEdgeReachedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::FormRepostDecisionSignal() + * @copydoc Dali::Toolkit::WebView::RegisterUrlChangedCallback() */ - Dali::Toolkit::WebView::WebViewFormRepostDecisionSignalType& FormRepostDecisionSignal(); + void RegisterUrlChangedCallback(Dali::WebEnginePlugin::WebEngineUrlChangedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::FrameRenderedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterFormRepostDecidedCallback() */ - Dali::Toolkit::WebView::WebViewFrameRenderedSignalType& FrameRenderedSignal(); + void RegisterFormRepostDecidedCallback(Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::RequestInterceptorSignal() + * @copydoc Dali::Toolkit::WebView::RegisterFrameRenderedCallback() */ - Dali::Toolkit::WebView::WebViewRequestInterceptorSignalType& RequestInterceptorSignal(); + void RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::ConsoleMessageSignal() + * @copydoc Dali::Toolkit::WebView::RegisterConsoleMessageReceivedCallback() */ - Dali::Toolkit::WebView::WebViewConsoleMessageSignalType& ConsoleMessageSignal(); + void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::PolicyDecisionSignal() + * @copydoc Dali::Toolkit::WebView::RegisterResponsePolicyDecidedCallback() */ - Dali::Toolkit::WebView::WebViewPolicyDecisionSignalType& PolicyDecisionSignal(); + void RegisterResponsePolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback callback); /** - * @copydoc Dali::Toolkit::WebView::CertificateConfirmSignal() + * @copydoc Dali::Toolkit::WebView::RegisterCertificateConfirmedCallback() */ - Dali::Toolkit::WebView::WebViewCertificateSignalType& CertificateConfirmSignal(); + void RegisterCertificateConfirmedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback); /** - * @copydoc Dali::Toolkit::WebView::SslCertificateChangedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterSslCertificateChangedCallback() */ - Dali::Toolkit::WebView::WebViewCertificateSignalType& SslCertificateChangedSignal(); + void RegisterSslCertificateChangedCallback(Dali::WebEnginePlugin::WebEngineCertificateCallback callback); /** - * @copydoc Dali::Toolkit::WebView::HttpAuthHandlerSignal() + * @copydoc Dali::Toolkit::WebView::RegisterHttpAuthHandlerCallback() */ - Dali::Toolkit::WebView::WebViewHttpAuthHandlerSignalType& HttpAuthHandlerSignal(); + void RegisterHttpAuthHandlerCallback(Dali::WebEnginePlugin::WebEngineHttpAuthHandlerCallback callback); /** - * @copydoc Dali::Toolkit::WebView::ContextMenuCustomizedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterContextMenuShownCallback() */ - Dali::Toolkit::WebView::WebViewContextMenuCustomizedSignalType& ContextMenuCustomizedSignal(); + void RegisterContextMenuShownCallback(Dali::WebEnginePlugin::WebEngineContextMenuShownCallback callback); /** - * @copydoc Dali::Toolkit::WebView::ContextMenuItemSelectedSignal() + * @copydoc Dali::Toolkit::WebView::RegisterContextMenuHiddenCallback() */ - Dali::Toolkit::WebView::WebViewContextMenuItemSelectedSignalType& ContextMenuItemSelectedSignal(); + void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback); + + /** + * @copydoc Dali::Toolkit::WebView::GetPlainTextAsynchronously() + */ + void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback); public: // Properties /** @@ -406,17 +411,6 @@ public: // Properties */ static Dali::Property::Value GetProperty(Dali::BaseObject* object, Dali::Property::Index propertyIndex); - /** - * Connects a callback function with the object's signals. - * @param[in] object The object providing the signal. - * @param[in] tracker Used to disconnect the signal. - * @param[in] signalName The signal to connect to. - * @param[in] functor A newly allocated FunctorDelegate. - * @return True if the signal was connected. - * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the c - */ - static bool DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor); - private: // From Control /** * @copydoc Toolkit::Control::OnInitialize() @@ -522,10 +516,16 @@ private: std::string GetSelectedText() const; /** + * @brief Get url of web page. + * @return The string of url + */ + std::string GetUrl() const; + + /** * @brief Get user agent string. * @return The string value of user agent */ - const std::string& GetUserAgent() const; + std::string GetUserAgent() const; /** * @brief Set user agent string. @@ -608,44 +608,7 @@ private: * @param[in] pixel Pixel data * @return The new image view */ - Dali::Toolkit::ImageView CreateImageView(Dali::PixelData pixel); - - /** - * @brief Callback function to be called when page load started. - * @param[in] url The url currently being loaded - */ - void OnPageLoadStarted(const std::string& url); - - /** - * @brief Callback function to be called when page is loading in progress. - * @param[in] url The url currently being loaded - */ - void OnPageLoadInProgress(const std::string& url); - - /** - * @brief Callback function to be called when page load finished. - * @param[in] url The url currently being loaded - */ - void OnPageLoadFinished(const std::string& url); - - /** - * @brief Callback function to be called when there is an error in page loading. - * @param[in] url The url currently being loaded - * @param[in] errorCode The error code - */ - void OnPageLoadError(std::shared_ptr error); - - /** - * @brief Callback function to be called when scroll edge is reached. - * @param[in] edge The scroll edge reached. - */ - void OnScrollEdgeReached(Dali::WebEnginePlugin::ScrollEdge edge); - - /** - * @brief Callback function to be called when url is changed. - * @param[in] url The url currently being loaded - */ - void OnUrlChanged(const std::string& url); + Dali::Toolkit::ImageView CreateImageView(Dali::PixelData pixel) const; /** * @brief Signal occurs when the Web View has been touched. @@ -672,15 +635,14 @@ private: bool OnWheelEvent(Actor actor, const Dali::WheelEvent& wheel); /** - * @brief Callback function to be called when form repost decision need be checked. - * @param[in] decision The new decision for form repost + * @brief Callback function to be called when frame is rendered. */ - void OnFormRepostDecision(std::shared_ptr decision); + void OnFrameRendered(); /** - * @brief Callback function to be called when frame is rendered. + * @brief Callback function to be called when frame is rendered. This is to check initial buffer is ready. */ - void OnFrameRendered(); + void OnInitialFrameRendered(); /** * @brief Callback function to be called when visibility is changed. @@ -696,84 +658,16 @@ private: */ void OnScreenshotCaptured(Dali::PixelData pixel); - /** - * @brief Callback function to be called when http request need be intercepted. - * @param [in] request The http request interceptor. - */ - void OnInterceptRequest(std::shared_ptr interceptor); - - /** - * @brief Callback function to be called when console message will be logged. - * @param[in] message The message logged. - */ - void OnConsoleMessage(std::shared_ptr message); - - /** - * @brief Callback function to be called when policy need be decided. - * @param[in] decision The policy decided. - */ - void OnPolicyDecisionRequest(std::shared_ptr decision); - - /** - * @brief Callback function to be called when certificate need be confirmed. - * @param[in] certificate The certificate policy decision. - */ - void OnCertificateConfirm(std::shared_ptr certificate); - - /** - * @brief Callback function to be called when ssl certificate is changed. - * @param[in] certificate The certificate information received. - */ - void OnSslCertificateChanged(std::shared_ptr certificate); - - /** - * @brief Callback function to be called when http authentication need be confirmed. - * @param[in] handler The handler for http authentication - */ - void OnHttpAuthenticationRequest(std::shared_ptr handler); - - /** - * @brief Callback function to be called when context menu would be customized. - * @param[in] e The scroll edge reached. - */ - void OnContextMenuCustomized(std::shared_ptr menu); - - /** - * @brief Callback function to be called when context menu item is selected. - * @param[in] url The url currently being loaded - */ - void OnContextMenuItemSelected(std::shared_ptr item); - private: - std::string mUrl; Dali::Toolkit::Visual::Base mVisual; Dali::Size mWebViewSize; Dali::WebEngine mWebEngine; - Dali::Toolkit::WebView::WebViewPageLoadSignalType mPageLoadStartedSignal; - Dali::Toolkit::WebView::WebViewPageLoadSignalType mPageLoadInProgressSignal; - Dali::Toolkit::WebView::WebViewPageLoadSignalType mPageLoadFinishedSignal; - Dali::Toolkit::WebView::WebViewPageLoadErrorSignalType mPageLoadErrorSignal; - Dali::Toolkit::WebView::WebViewUrlChangedSignalType mUrlChangedSignal; - Dali::Toolkit::WebView::WebViewScrollEdgeReachedSignalType mScrollEdgeReachedSignal; - Dali::Toolkit::WebView::WebViewFormRepostDecisionSignalType mFormRepostDecisionSignal; - Dali::Toolkit::WebView::WebViewFrameRenderedSignalType mFrameRenderedSignal; - Dali::Toolkit::WebView::WebViewRequestInterceptorSignalType mRequestInterceptorSignal; - Dali::Toolkit::WebView::WebViewConsoleMessageSignalType mConsoleMessageSignal; - Dali::Toolkit::WebView::WebViewPolicyDecisionSignalType mPolicyDecisionSignal; - Dali::Toolkit::WebView::WebViewCertificateSignalType mCertificateConfirmSignal; - Dali::Toolkit::WebView::WebViewCertificateSignalType mSslCertificateChangedSignal; - Dali::Toolkit::WebView::WebViewHttpAuthHandlerSignalType mHttpAuthHandlerSignal; - Dali::Toolkit::WebView::WebViewContextMenuCustomizedSignalType mContextMenuCustomizedSignal; - Dali::Toolkit::WebView::WebViewContextMenuItemSelectedSignalType mContextMenuItemSelectedSignal; - std::unique_ptr mWebContext; std::unique_ptr mWebCookieManager; std::unique_ptr mWebSettings; std::unique_ptr mWebBackForwardList; - Dali::Toolkit::ImageView mFaviconView; - Dali::PropertyNotification mPositionUpdateNotification; Dali::PropertyNotification mSizeUpdateNotification; Dali::PropertyNotification mScaleUpdateNotification; @@ -783,6 +677,7 @@ private: bool mKeyEventsEnabled; Dali::Toolkit::WebView::WebViewScreenshotCapturedCallback mScreenshotCapturedCallback; + Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback; }; } // namespace Internal