X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fweb-view%2Fweb-view-impl.h;h=14fb0b52fb67b46dbcbdddda7252b6c226d737a3;hb=06390b11a4bbb71ee3d9a0508ed33cb3aa14d8a3;hp=968b7420d47bbb47526b19798745dce3295ba181;hpb=7b08154a523fef2ffdd66f30eaf909329ac9cd5c;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/web-view/web-view-impl.h b/dali-toolkit/internal/controls/web-view/web-view-impl.h old mode 100644 new mode 100755 index 968b742..14fb0b5 --- a/dali-toolkit/internal/controls/web-view/web-view-impl.h +++ b/dali-toolkit/internal/controls/web-view/web-view-impl.h @@ -19,13 +19,15 @@ */ // EXTERNAL INCLUDES +#include #include #include // INTERNAL INCLUDES +#include #include #include -#include +#include namespace Dali { @@ -35,6 +37,10 @@ namespace Toolkit class KeyEvent; class TouchEvent; +class WebBackForwardList; +class WebContext; +class WebCookieManager; +class WebSettings; class WebView; namespace Internal @@ -48,6 +54,8 @@ protected: WebView( const std::string& locale, const std::string& timezoneId ); + WebView( int argc, char** argv ); + virtual ~WebView(); public: @@ -63,6 +71,38 @@ public: static Toolkit::WebView New( const std::string& locale, const std::string& timezoneId ); /** + * @brief Get settings of WebEngine. + */ + Dali::Toolkit::WebSettings* GetSettings() const; + + /** + * @brief Get context of WebEngine. + */ + Dali::Toolkit::WebContext* GetContext() const; + + /** + * @brief Get cookie manager of WebEngine. + */ + Dali::Toolkit::WebCookieManager* GetCookieManager() const; + + /** + * @brief Get WebBackForwardList of WebEngine. + */ + Dali::Toolkit::WebBackForwardList* GetBackForwardList() const; + + /** + * @copydoc Dali::Toolkit::WebView::New( int, char** ) + */ + static Toolkit::WebView New( int argc, char** argv ); + + /** + * @brief Get Favicon of web page. + * + * @return Handle to a fav icon + */ + Dali::Toolkit::ImageView& GetFavicon(); + + /** * @copydoc Dali::Toolkit::WebView::LoadUrl() */ void LoadUrl( const std::string& url ); @@ -70,7 +110,7 @@ public: /** * @copydoc Dali::WebEngine::LoadHTMLString() */ - void LoadHTMLString( const std::string& htmlString ); + void LoadHtmlString( const std::string& htmlString ); /** * @copydoc Dali::Toolkit::WebView::Reload() @@ -93,6 +133,11 @@ public: void Resume(); /** + * @copydoc Dali::Toolkit::WebView::ScrollBy() + */ + void ScrollBy( int deltaX, int deltaY ); + + /** * @copydoc Dali::Toolkit::WebView::CanGoForward() */ bool CanGoForward(); @@ -123,19 +168,14 @@ public: void AddJavaScriptMessageHandler( const std::string& exposedObjectName, std::function< void( const std::string& ) > handler ); /** - * @copydoc Dali::Toolkit::WebView::ClearHistory() + * @brief Clears all tiles resources of Web. */ - void ClearHistory(); + void ClearAllTilesResources(); /** - * @copydoc Dali::Toolkit::WebView::ClearCache() - */ - void ClearCache(); - - /** - * @copydoc Dali::Toolkit::WebView::ClearCookies() + * @copydoc Dali::Toolkit::WebView::ClearHistory() */ - void ClearCookies(); + void ClearHistory(); /** * @copydoc Dali::Toolkit::WebView::PageLoadStartedSignal() @@ -152,6 +192,11 @@ public: */ Dali::Toolkit::WebView::WebViewPageLoadErrorSignalType& PageLoadErrorSignal(); + /** + * @copydoc Dali::Toolkit::WebView::ScrollEdgeReachedSignal() + */ + Dali::Toolkit::WebView::WebViewScrollEdgeReachedSignalType& ScrollEdgeReachedSignal(); + public: // Properties /** @@ -231,30 +276,39 @@ private: WebView& operator=( const WebView& webView ); /** - * @brief Get cache model option. The default isToolkit::WebView::CacheModel::DOCUMENT_VIEWER. - * @see Toolkit::WebView::CacheModel::Type + * @brief Sets an absolute scroll of the given view. + * @param[in] x The coordinate x of scroll + * @param[in] y The coordinate y of scroll */ - Toolkit::WebView::CacheModel::Type GetCacheModel() const; + void SetScrollPosition( int x, int y ); /** - * @brief Set cache model option. The default isToolkit::WebView::CacheModel::DOCUMENT_VIEWER. - * @param[in] cacheModel The cache model option - * @see Toolkit::WebView::CacheModel::Type + * @brief Gets the current scroll position of the given view. + * @param[out] x The coordinate x of scroll + * @param[out] y The coordinate y of scroll */ - void SetCacheModel( Toolkit::WebView::CacheModel::Type cacheModel ); + Dali::Vector2 GetScrollPosition() const; /** - * @brief Gets the cookie acceptance policy. The default is Toolkit::WebView::CookieAcceptPolicy::NO_THIRD_PARTY. - * @see Toolkit::WebView::CookieAcceptPolicy::Type + * @brief Gets the possible scroll size of the given view. + * @param[out] width The width of scroll size + * @param[out] height The height of scroll size */ - Toolkit::WebView::CookieAcceptPolicy::Type GetCookieAcceptPolicy() const; + Dali::Vector2 GetScrollSize() const; /** - * @brief Sets the cookie acceptance policy. The default is Toolkit::WebView::CookieAcceptPolicy::NO_THIRD_PARTY. - * @param[in] policy The cookie acceptance policy - * @see Toolkit::WebView::CookieAcceptPolicy::Type + * @brief Gets the last known content's size. + * @param[out] width The width of content's size + * @param[out] height The height of content's size */ - void SetCookieAcceptPolicy( Toolkit::WebView::CookieAcceptPolicy::Type policy ); + Dali::Vector2 GetContentSize() const; + + /** + * @brief Returns the title of the Web. + * + * @return The title of web page + */ + std::string GetTitle() const; /** * @brief Get user agent string. @@ -269,62 +323,6 @@ private: void SetUserAgent( const std::string& userAgent ); /** - * @brief Returns whether JavaScript can be executable. The default is true. - * - * @return true if JavaScript executing is enabled, false otherwise - */ - bool IsJavaScriptEnabled() const; - - /** - * @brief Enables/disables JavaScript executing. The default is enabled. - * - * @param[in] enabled True if JavaScript executing is enabled, false otherwise - */ - void EnableJavaScript( bool enabled ); - - /** - * @brief Returns whether images can be loaded automatically. The default is true. - * - * @return true if images are loaded automatically, false otherwise - */ - bool AreImagesAutomaticallyLoaded() const; - - /** - * @brief Enables/disables auto loading of images. The default is enabled. - * - * @param[in] automatic True if images are loaded automatically, false otherwise - */ - void LoadImagesAutomatically( bool automatic ); - - /** - * @brief Gets the default text encoding name (e.g. UTF-8). - * - * @return The default text encoding name - */ - const std::string& GetDefaultTextEncodingName() const; - - /** - * @brief Sets the default text encoding name (e.g. UTF-8). - * - * @param[in] defaultTextEncodingName The default text encoding name - */ - void SetDefaultTextEncodingName( const std::string& defaultTextEncodingName ); - - /** - * @brief Returns the default font size in pixel. The default value is 16. - * - * @return The default font size - */ - int GetDefaultFontSize() const; - - /** - * @brief Sets the default font size in pixel. The default value is 16. - * - * @param[in] defaultFontSize A new default font size to set - */ - void SetDefaultFontSize( int defaultFontSize ); - - /** * @brief Callback function to be called when page load started. * @param[in] url The url currently being loaded */ @@ -343,6 +341,12 @@ private: */ void OnPageLoadError( const std::string& url, int errorCode ); + /** + * @brief Callback function to be called when scroll edge is reached. + * @param[in] e The scroll edge reached. + */ + void OnScrollEdgeReached( Dali::WebEnginePlugin::ScrollEdge edge ); + private: std::string mUrl; @@ -353,6 +357,13 @@ private: Dali::Toolkit::WebView::WebViewPageLoadSignalType mPageLoadStartedSignal; Dali::Toolkit::WebView::WebViewPageLoadSignalType mPageLoadFinishedSignal; Dali::Toolkit::WebView::WebViewPageLoadErrorSignalType mPageLoadErrorSignal; + Dali::Toolkit::WebView::WebViewScrollEdgeReachedSignalType mScrollEdgeReachedSignal; + + std::unique_ptr mWebContext; + std::unique_ptr mWebCookieManager; + std::unique_ptr mWebSettings; + std::unique_ptr mWebBackForwardList; + Dali::Toolkit::ImageView mFaviconView; }; } // namespace Internal