#include <memory>
#include <dali/devel-api/adaptor-framework/web-engine.h>
#include <dali/public-api/images/image-operations.h>
+#include <dali/public-api/object/property-notification.h>
// INTERNAL INCLUDES
#include <dali-toolkit/devel-api/controls/web-view/web-view.h>
#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali-toolkit/public-api/controls/image-view/image-view.h>
namespace Dali
{
WebView( const std::string& locale, const std::string& timezoneId );
+ WebView( int argc, char** argv );
+
virtual ~WebView();
public:
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 );
void AddJavaScriptMessageHandler( const std::string& exposedObjectName, std::function< void( const std::string& ) > handler );
/**
+ * @brief Clears all tiles resources of Web.
+ */
+ void ClearAllTilesResources();
+
+ /**
* @copydoc Dali::Toolkit::WebView::ClearHistory()
*/
void ClearHistory();
Vector3 GetNaturalSize() override;
/**
- * @copydoc Toolkit::Control::OnRelayout()
- */
- void OnRelayout( const Vector2& size, RelayoutContainer& container ) override;
-
- /**
* Signal occurs when the Web View has been touched.
* @param[in] actor The Actor Touched
* @param[in] touch The Touch Data.
*/
void OnKeyInputFocusLost() override;
+ /**
+ * @copydoc Toolkit::Control::OnSceneConnection()
+ */
+ void OnSceneConnection( int depth ) override;
+
private:
// Undefined
* @param[out] x The coordinate x of scroll
* @param[out] y The coordinate y of scroll
*/
- void GetScrollPosition( int& x, int& y ) const;
+ Dali::Vector2 GetScrollPosition() const;
/**
* @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
*/
- void GetScrollSize( int& width, int& height ) const;
+ Dali::Vector2 GetScrollSize() const;
/**
* @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 GetContentSize( int& width, int& height ) const;
+ 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.
void SetUserAgent( const std::string& userAgent );
/**
+ * @brief Updates display area of web view.
+ * @param[in] source The soource triggers Notification.
+ */
+ void UpdateDisplayArea( Dali::PropertyNotification& source );
+
+ /**
+ * @brief Enable/Disable video hole for video playing.
+ * @param[in] enabled True if video hole is enabled, false otherwise.
+ */
+ void EnableVideoHole( bool enabled );
+
+ /**
+ * @brief Enable blend mode.
+ * @param[in] blendEnabled True if turn on blend mode, false otherwise.
+ */
+ void EnableBlendMode( bool blendEnabled );
+
+ /**
* @brief Callback function to be called when page load started.
* @param[in] url The url currently being loaded
*/
std::unique_ptr<Dali::Toolkit::WebCookieManager> mWebCookieManager;
std::unique_ptr<Dali::Toolkit::WebSettings> mWebSettings;
std::unique_ptr<Dali::Toolkit::WebBackForwardList> mWebBackForwardList;
+ Dali::Toolkit::ImageView mFaviconView;
+
+ Dali::PropertyNotification mPositionUpdateNotification;
+ Dali::PropertyNotification mSizeUpdateNotification;
+ Dali::PropertyNotification mScaleUpdateNotification;
+ bool mVideoHoleEnabled;
+ Dali::Rect< int > mWebViewArea;
};
} // namespace Internal