using WebEngineScrollEdgeReachedSignalType = Signal<void(const ScrollEdge)>;
/**
+ * @brief WebView signal type related with page url changed.
+ */
+ using WebEngineUrlChangedSignalType = Signal<void(const std::string&)>;
+
+ /**
+ * @brief Alert callback when JavaScript alert is called with a message.
+ * It returns true if a pop-up is created successfully, false otherwise.
+ */
+ using JavaScriptAlertCallback = std::function<bool(const std::string&)>;
+
+ /**
+ * @brief Confirm callback when JavaScript confirm is called with a message.
+ * It returns true if a pop-up is created successfully, false otherwise.
+ */
+ using JavaScriptConfirmCallback = std::function<bool(const std::string&)>;
+
+ /**
+ * @brief Prompt callback when JavaScript prompt is called with a message
+ * and an optional value that is the default value for the input field.
+ * It returns true if a pop-up is created successfully, false otherwise.
+ */
+ using JavaScriptPromptCallback = std::function<bool(const std::string&, const std::string&)>;
+
+ /**
* @brief Enumeration for the scroll edge.
*/
enum class ScrollEdge
virtual void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function<void(const std::string&)> handler) = 0;
/**
- * @brief Clears all tiles resources of Web.
+ * @brief Register a callback for JavaScript alert.
+ *
+ * @param[in] callback The callback function
*/
- virtual void ClearAllTilesResources() = 0;
+ virtual void RegisterJavaScriptAlertCallback(JavaScriptAlertCallback callback) = 0;
+
+ /**
+ * @brief Reply for JavaScript alert.
+ */
+ virtual void JavaScriptAlertReply() = 0;
+
+ /**
+ * @brief Register a callback for JavaScript confirm.
+ *
+ * @param[in] callback The callback function
+ */
+ virtual void RegisterJavaScriptConfirmCallback(JavaScriptConfirmCallback callback) = 0;
+
+ /**
+ * @brief Reply for JavaScript confirm.
+ */
+ virtual void JavaScriptConfirmReply( bool confirmed ) = 0;
+
+ /**
+ * @brief Register a callback for JavaScript prompt.
+ *
+ * @param[in] callback The callback function
+ */
+ virtual void RegisterJavaScriptPromptCallback( JavaScriptPromptCallback callback ) = 0;
+
+ /**
+ * @brief Reply for JavaScript prompt.
+ */
+ virtual void JavaScriptPromptReply( const std::string& result ) = 0;
/**
* @brief Clears the history of Web.
virtual void ClearHistory() = 0;
/**
+ * @brief Clears all tiles resources of Web.
+ */
+ virtual void ClearAllTilesResources() = 0;
+
+ /**
* @brief Get user agent string.
*
* @return The string value of user agent
virtual WebEnginePageLoadSignalType& PageLoadStartedSignal() = 0;
/**
+ * @brief Connects to this signal to be notified when page loading is in progress.
+ *
+ * @return A signal object to connect with.
+ */
+ virtual WebEnginePageLoadSignalType& PageLoadInProgressSignal() = 0;
+
+ /**
* @brief Connects to this signal to be notified when page loading is finished.
*
* @return A signal object to connect with.
* @return A signal object to connect with.
*/
virtual WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal() = 0;
+
+ /**
+ * @brief Connects to this signal to be notified when url is changed.
+ *
+ * @return A signal object to connect with.
+ */
+ virtual WebEngineUrlChangedSignalType& UrlChangedSignal() = 0;
+
};
} // namespace Dali
GetImplementation(*this).AddJavaScriptMessageHandler(exposedObjectName, handler);
}
-void WebEngine::ClearAllTilesResources()
+void WebEngine::RegisterJavaScriptAlertCallback( Dali::WebEnginePlugin::JavaScriptAlertCallback callback )
+{
+ GetImplementation( *this ).RegisterJavaScriptAlertCallback( callback );
+}
+
+void WebEngine::JavaScriptAlertReply()
+{
+ GetImplementation( *this ).JavaScriptAlertReply();
+}
+
+void WebEngine::RegisterJavaScriptConfirmCallback( Dali::WebEnginePlugin::JavaScriptConfirmCallback callback )
+{
+ GetImplementation( *this ).RegisterJavaScriptConfirmCallback( callback );
+}
+
+void WebEngine::JavaScriptConfirmReply( bool confirmed )
+{
+ GetImplementation( *this ).JavaScriptConfirmReply( confirmed );
+}
+
+void WebEngine::RegisterJavaScriptPromptCallback( Dali::WebEnginePlugin::JavaScriptPromptCallback callback )
{
- GetImplementation(*this).ClearAllTilesResources();
+ GetImplementation( *this ).RegisterJavaScriptPromptCallback( callback );
+}
+
+void WebEngine::JavaScriptPromptReply( const std::string& result )
+{
+ GetImplementation( *this ).JavaScriptPromptReply( result );
}
void WebEngine::ClearHistory()
return GetImplementation(*this).ClearHistory();
}
+void WebEngine::ClearAllTilesResources()
+{
+ GetImplementation( *this ).ClearAllTilesResources();
+}
+
const std::string& WebEngine::GetUserAgent() const
{
return GetImplementation(*this).GetUserAgent();
return GetImplementation(*this).PageLoadStartedSignal();
}
+Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadInProgressSignal()
+{
+ return GetImplementation(*this).PageLoadInProgressSignal();
+}
+
Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadFinishedSignal()
{
return GetImplementation(*this).PageLoadFinishedSignal();
return GetImplementation(*this).ScrollEdgeReachedSignal();
}
+Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& WebEngine::UrlChangedSignal()
+{
+ return GetImplementation(*this).UrlChangedSignal();
+}
+
} // namespace Dali
void AddJavaScriptMessageHandler(const std::string& exposedObjectName, std::function<void(const std::string&)> handler);
/**
- * @brief Clears all tiles resources of Web.
+ * @brief Register a callback for JavaScript alert.
+ *
+ * @param[in] callback The callback function
*/
- void ClearAllTilesResources();
+ void RegisterJavaScriptAlertCallback( Dali::WebEnginePlugin::JavaScriptAlertCallback callback);
+
+ /**
+ * @brief Reply for JavaScript alert.
+ */
+ void JavaScriptAlertReply();
+
+ /**
+ * @brief Register a callback for JavaScript confirm.
+ *
+ * @param[in] callback The callback function
+ */
+ void RegisterJavaScriptConfirmCallback( Dali::WebEnginePlugin::JavaScriptConfirmCallback callback);
+
+ /**
+ * @brief Reply for JavaScript confirm.
+ */
+ void JavaScriptConfirmReply( bool confirmed );
+
+ /**
+ * @brief Register a callback for JavaScript prompt.
+ *
+ * @param[in] callback The callback function
+ */
+ void RegisterJavaScriptPromptCallback( Dali::WebEnginePlugin::JavaScriptPromptCallback callback );
+
+ /**
+ * @brief Reply for JavaScript prompt.
+ */
+ void JavaScriptPromptReply( const std::string& result );
/**
* @brief Clears the history of Web.
void ClearHistory();
/**
+ * @brief Clears all tiles resources of Web.
+ */
+ void ClearAllTilesResources();
+
+ /**
* @brief Get user agent string.
*
* @return The string value of user agent
Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal();
/**
+ * @brief Connects to this signal to be notified when page loading is in progress.
+ *
+ * @return A signal object to connect with.
+ */
+ Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadInProgressSignal();
+
+ /**
* @brief Connects to this signal to be notified when page loading is finished.
*
* @return A signal object to connect with.
*/
Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal();
+ /**
+ * @brief Connects to this signal to be notified when url is changed.
+ *
+ * @return A signal object to connect with.
+ */
+ Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& UrlChangedSignal();
+
private: // Not intended for application developers
/**
* @brief Internal constructor
return mPlugin->GetBackForwardList();
}
-void WebEngine::LoadUrl(const std::string& url)
+void WebEngine::LoadUrl( const std::string& url )
{
mPlugin->LoadUrl(url);
}
return mPlugin->GetContentSize();
}
+void WebEngine::RegisterJavaScriptAlertCallback( Dali::WebEnginePlugin::JavaScriptAlertCallback callback )
+{
+ mPlugin->RegisterJavaScriptAlertCallback( callback );
+}
+
+void WebEngine::JavaScriptAlertReply()
+{
+ mPlugin->JavaScriptAlertReply();
+}
+
+void WebEngine::RegisterJavaScriptConfirmCallback( Dali::WebEnginePlugin::JavaScriptConfirmCallback callback )
+{
+ mPlugin->RegisterJavaScriptAlertCallback( callback );
+}
+
+void WebEngine::JavaScriptConfirmReply( bool confirmed )
+{
+ mPlugin->JavaScriptConfirmReply( confirmed );
+}
+
+void WebEngine::RegisterJavaScriptPromptCallback( Dali::WebEnginePlugin::JavaScriptPromptCallback callback )
+{
+ mPlugin->RegisterJavaScriptPromptCallback( callback );
+}
+
+void WebEngine::JavaScriptPromptReply( const std::string& result )
+{
+ mPlugin->JavaScriptPromptReply( result );
+}
+
bool WebEngine::CanGoForward()
{
return mPlugin->CanGoForward();
return mPlugin->PageLoadStartedSignal();
}
+Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadInProgressSignal()
+{
+ return mPlugin->PageLoadInProgressSignal();
+}
+
Dali::WebEnginePlugin::WebEnginePageLoadSignalType& WebEngine::PageLoadFinishedSignal()
{
return mPlugin->PageLoadFinishedSignal();
return mPlugin->ScrollEdgeReachedSignal();
}
-} // namespace Adaptor
-} // namespace Internal
-} // namespace Dali
+Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& WebEngine::UrlChangedSignal()
+{
+ return mPlugin->UrlChangedSignal();
+}
+
+} // namespace Adaptor;
+} // namespace Internal;
+} // namespace Dali;
+
Dali::Vector2 GetContentSize() const;
/**
+ * @copydoc Dali::WebEngine::RegisterJavaScriptAlertCallback()
+ */
+ void RegisterJavaScriptAlertCallback( Dali::WebEnginePlugin::JavaScriptAlertCallback callback );
+
+ /**
+ * @copydoc Dali::WebEngine::JavaScriptAlertReply()
+ */
+ void JavaScriptAlertReply();
+
+ /**
+ * @copydoc Dali::WebEngine::RegisterJavaScriptConfirmCallback()
+ */
+ void RegisterJavaScriptConfirmCallback( Dali::WebEnginePlugin::JavaScriptConfirmCallback callback );
+
+ /**
+ * @copydoc Dali::WebEngine::JavaScriptConfirmReply()
+ */
+ void JavaScriptConfirmReply( bool confirmed );
+
+ /**
+ * @copydoc Dali::WebEngine::RegisterJavaScriptPromptCallback()
+ */
+ void RegisterJavaScriptPromptCallback( Dali::WebEnginePlugin::JavaScriptPromptCallback callback );
+
+ /**
+ * @copydoc Dali::WebEngine::JavaScriptPromptReply()
+ */
+ void JavaScriptPromptReply( const std::string& result );
+
+ /**
* @copydoc Dali::WebEngine::CanGoForward()
*/
bool CanGoForward();
Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal();
/**
+ * @copydoc Dali::WebEngine::PageLoadProgressSignal()
+ */
+ Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadInProgressSignal();
+
+ /**
* @copydoc Dali::WebEngine::PageLoadFinishedSignal()
*/
Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadFinishedSignal();
*/
Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal();
+ /**
+ * @copydoc Dali::WebEngine::UrlChangedSignal()
+ */
+ Dali::WebEnginePlugin::WebEngineUrlChangedSignalType& UrlChangedSignal();
+
private:
/**
* @brief Constructor.