X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fdevel-api%2Fadaptor-framework%2Fweb-engine-plugin.h;h=f74c41ad7d7ffc78fa548ea276148b04825f0b73;hb=06420ad253d1338ec54947f589c81e6cffcd76ff;hp=bfa8016b0844b8727b85e908310385413e42d140;hpb=0b9a2d99cea6c0da882cedf22dfd066a913befe4;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/devel-api/adaptor-framework/web-engine-plugin.h b/dali/devel-api/adaptor-framework/web-engine-plugin.h old mode 100644 new mode 100755 index bfa8016..f74c41a --- a/dali/devel-api/adaptor-framework/web-engine-plugin.h +++ b/dali/devel-api/adaptor-framework/web-engine-plugin.h @@ -20,14 +20,19 @@ // EXTERNAL INCLUDES #include +#include #include #include namespace Dali { - class KeyEvent; +class PixelData; class TouchEvent; +class WebEngineBackForwardList; +class WebEngineContext; +class WebEngineCookieManager; +class WebEngineSettings; /** * @brief WebEnginePlugin is an abstract interface, used by dali-adaptor to access WebEngine plugin. @@ -36,72 +41,44 @@ class TouchEvent; class WebEnginePlugin { public: - /** * @brief WebEngine signal type related with page loading. */ - typedef Signal< void( const std::string& ) > WebEnginePageLoadSignalType; + using WebEnginePageLoadSignalType = Signal< void( const std::string& ) >; /** * @brief WebView signal type related with page loading error. */ - typedef Signal< void( const std::string&, int ) > WebEnginePageLoadErrorSignalType; + using WebEnginePageLoadErrorSignalType = Signal< void( const std::string&, int ) >; + + // forward declaration. + enum class ScrollEdge; /** - * @brief Enumeration for cache model options. + * @brief WebView signal type related with scroll edge reached. */ - enum class CacheModel - { - /** - * @brief Use the smallest cache capacity. - */ - DOCUMENT_VIEWER, - - /** - * @brief Use the bigger cache capacity than DocumentBrowser. - */ - DOCUMENT_BROWSER, - - /** - * @brief Use the biggest cache capacity. - */ - PRIMARY_WEB_BROWSER - }; + using WebEngineScrollEdgeReachedSignalType = Signal< void( const ScrollEdge ) >; /** - * @brief Enumeration for the cookies accept policies. + * @brief Enumeration for the scroll edge. */ - enum class CookieAcceptPolicy + enum class ScrollEdge { - /** - * @brief Accepts every cookie sent from any page. - */ - ALWAYS, - - /** - * @brief Rejects all the cookies. - */ - NEVER, - - /** - * @brief Accepts only cookies set by the main document that is loaded. - */ - NO_THIRD_PARTY + LEFT, ///< Left edge reached. + RIGHT, ///< Right edge reached. + TOP, ///< Top edge reached. + BOTTOM, ///< Bottom edge reached. }; /** * @brief Constructor. */ - WebEnginePlugin() - { - } + WebEnginePlugin() = default; /** * @brief Destructor. */ - virtual ~WebEnginePlugin() - { - } + virtual ~WebEnginePlugin() = default; /** * @brief Creates WebEngine instance. @@ -111,7 +88,17 @@ public: * @param [in] locale The locale of Web * @param [in] timezoneId The timezoneID of Web */ - virtual void Create( int width, int height, const std::string& locale, const std::string& timezoneId ) = 0; + virtual void Create(int width, int height, const std::string& locale, const std::string& timezoneId) = 0; + + /** + * @brief Creates WebEngine instance. + * + * @param [in] width The width of Web + * @param [in] height The height of Web + * @param [in] argc The count of application arguments + * @param [in] argv The string array of application arguments + */ + virtual void Create( int width, int height, int argc, char** argv ) = 0; /** * @brief Destroys WebEngine instance. @@ -119,11 +106,45 @@ public: virtual void Destroy() = 0; /** + * @brief Get settings of WebEngine. + */ + virtual WebEngineSettings& GetSettings() const = 0; + + /** + * @brief Get context of WebEngine. + */ + virtual WebEngineContext& GetContext() const = 0; + + /** + * @brief Get cookie manager of WebEngine. + */ + virtual WebEngineCookieManager& GetCookieManager() const = 0; + + /** + * @brief Get back-forward list of WebEngine. + */ + virtual WebEngineBackForwardList& GetBackForwardList() const = 0; + + /** * @brief Loads a web page based on a given URL. * * @param [in] url The URL of the resource to load */ - virtual void LoadUrl( const std::string& url ) = 0; + virtual void LoadUrl(const std::string& url) = 0; + + /** + * @brief Returns the title of the Web. + * + * @return The title of web page + */ + virtual std::string GetTitle() const = 0; + + /** + * @brief Returns the Favicon of the Web. + * + * @return Favicon of Dali::PixelData& type + */ + virtual Dali::PixelData GetFavicon() const = 0; /** * @brief Gets image to render. @@ -142,7 +163,7 @@ public: * * @param [in] htmlString The string to use as the contents of the web page */ - virtual void LoadHTMLString( const std::string& htmlString ) = 0; + virtual void LoadHtmlString(const std::string& htmlString) = 0; /** * @brief Reloads the Web. @@ -165,6 +186,31 @@ public: virtual void Resume() = 0; /** + * @brief Scrolls the webpage of view by deltaX and deltaY. + */ + virtual void ScrollBy( int deltaX, int deltaY ) = 0; + + /** + * @brief Scroll to the specified position of the given view. + */ + virtual void SetScrollPosition( int x, int y ) = 0; + + /** + * @brief Gets the current scroll position of the given view. + */ + virtual Dali::Vector2 GetScrollPosition() const = 0; + + /** + * @brief Gets the possible scroll size of the given view. + */ + virtual Dali::Vector2 GetScrollSize() const = 0; + + /** + * @brief Gets the last known content's size. + */ + virtual Dali::Vector2 GetContentSize() const = 0; + + /** * @brief Returns whether forward is possible. * * @return True if forward is possible, false otherwise @@ -194,7 +240,7 @@ public: * @param[in] script The JavaScript code * @param[in] resultHandler The callback function to be called by the JavaScript runtime. This carries evaluation result. */ - virtual void EvaluateJavaScript( const std::string& script, std::function< void( const std::string& ) > resultHandler ) = 0; + virtual void EvaluateJavaScript(const std::string& script, std::function resultHandler) = 0; /** * @brief Add a message handler into JavaScript. @@ -202,50 +248,17 @@ public: * @param[in] exposedObjectName The name of exposed object * @param[in] handler The callback function */ - virtual void AddJavaScriptMessageHandler( const std::string& exposedObjectName, std::function< void( const std::string& ) > handler ) = 0; + virtual void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function handler) = 0; /** - * @brief Clears the history of Web. + * @brief Clears all tiles resources of Web. */ - virtual void ClearHistory() = 0; + virtual void ClearAllTilesResources() = 0; /** - * @brief Clears the cache of Web. - */ - virtual void ClearCache() = 0; - - /** - * @brief Clears all the cookies of Web. - */ - virtual void ClearCookies() = 0; - - /** - * @brief Get cache model option. The default is DOCUMENT_VIEWER. - * - * @return The cache model option - */ - virtual CacheModel GetCacheModel() const = 0; - - /** - * @brief Set cache model option. The default is DOCUMENT_VIEWER. - * - * @param[in] cacheModel The cache model option - */ - virtual void SetCacheModel( CacheModel cacheModel ) = 0; - - /** - * @brief Gets the cookie acceptance policy. The default is NO_THIRD_PARTY. - * - * @return The cookie acceptance policy - */ - virtual CookieAcceptPolicy GetCookieAcceptPolicy() const = 0; - - /** - * @brief Sets the cookie acceptance policy. The default is NO_THIRD_PARTY. - * - * @param[in] policy The cookie acceptance policy + * @brief Clears the history of Web. */ - virtual void SetCookieAcceptPolicy( CookieAcceptPolicy policy ) = 0; + virtual void ClearHistory() = 0; /** * @brief Get user agent string. @@ -259,78 +272,39 @@ public: * * @param[in] userAgent The string value of user agent */ - virtual void SetUserAgent( const std::string& userAgent ) = 0; - - /** - * @brief Returns whether JavaScript can be executable. The default is true. - * - * @return true if JavaScript executing is enabled, false otherwise - */ - virtual bool IsJavaScriptEnabled() const = 0; - - /** - * @brief Enables/disables JavaScript executing. The default is enabled. - * - * @param[in] enabled True if JavaScript executing is enabled, false otherwise - */ - virtual void EnableJavaScript( bool enabled ) = 0; - - /** - * @brief Returns whether images can be loaded automatically. The default is true. - * - * @return true if images are loaded automatically, false otherwise - */ - virtual bool AreImagesAutomaticallyLoaded() const = 0; - - /** - * @brief Enables/disables auto loading of images. The default is enabled. - * - * @param[in] automatic True if images are loaded automatically, false otherwise - */ - virtual void LoadImagesAutomatically( bool automatic ) = 0; - - /** - * @brief Gets the default text encoding name (e.g. UTF-8). - * - * @return The default text encoding name - */ - virtual const std::string& GetDefaultTextEncodingName() const = 0; + virtual void SetUserAgent(const std::string& userAgent) = 0; /** - * @brief Sets the default text encoding name (e.g. UTF-8). - * - * @param[in] defaultTextEncodingName The default text encoding name + * @brief Sets size of Web Page. */ - virtual void SetDefaultTextEncodingName( const std::string& defaultTextEncodingName ) = 0; + virtual void SetSize(int width, int height) = 0; /** - * @brief Returns the default font size in pixel. The default value is 16. - * - * @return The default font size + * @brief Sends Touch Events. */ - virtual int GetDefaultFontSize() const = 0; + virtual bool SendTouchEvent(const TouchEvent& touch) = 0; /** - * @brief Sets the default font size in pixel. The default value is 16. - * - * @param[in] defaultFontSize A new default font size to set + * @brief Sends Key Events. */ - virtual void SetDefaultFontSize( int defaultFontSize ) = 0; + virtual bool SendKeyEvent(const KeyEvent& event) = 0; /** - * @brief Sets size of Web Page. + * @brief Sets focus. */ - virtual void SetSize( int width, int height ) = 0; + virtual void SetFocus( bool focused ) = 0; /** - * @brief Sends Touch Events. + * @brief Update display area. + * @param[in] displayArea The display area need be updated. */ - virtual bool SendTouchEvent( const TouchEvent& touch ) = 0; + virtual void UpdateDisplayArea( Dali::Rect< int > displayArea ) = 0; /** - * @brief Sends Key Events. + * @brief Enable video hole. + * @param[in] enabled True if enabled, false othewise. */ - virtual bool SendKeyEvent( const KeyEvent& event ) = 0; + virtual void EnableVideoHole( bool enabled ) = 0; /** * @brief Connects to this signal to be notified when page loading is started. @@ -353,8 +327,14 @@ public: */ virtual WebEnginePageLoadErrorSignalType& PageLoadErrorSignal() = 0; + /** + * @brief Connects to this signal to be notified when scroll edge is reached. + * + * @return A signal object to connect with. + */ + virtual WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal() = 0; }; -} // namespace Dali; +} // namespace Dali #endif