bool OnDownloadStarted();
bool OnMimeOverridden();
bool OnChangesWatch();
+bool OnPlainTextReceived();
static void ConnectToGlobalSignal( bool ( *func )() )
{
mContextMenuHiddenCallback = callback;
}
+ void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
+ {
+ if (callback)
+ {
+ ConnectToGlobalSignal(&OnPlainTextReceived);
+ mPlainTextReceivedCallback = callback;
+ }
+ }
+
std::string mUrl;
std::vector<std::string> mHistory;
size_t mCurrentPlusOnePos;
Dali::WebEnginePlugin::VideoPlayingCallback mVideoPlayingCallback;
Dali::WebEnginePlugin::GeolocationPermissionCallback mGeolocationPermissionCallback;
Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback mHitTestCreatedCallback;
+ Dali::WebEnginePlugin::PlainTextReceivedCallback mPlainTextReceivedCallback;
};
return false;
}
+bool OnPlainTextReceived()
+{
+ DisconnectFromGlobalSignal(&OnPlainTextReceived);
+ if (gInstance)
+ {
+ std::string dummyResultText;
+ gInstance->mPlainTextReceivedCallback(dummyResultText);
+ }
+ return false;
+}
+
} // namespace
inline WebEngine& GetImplementation( Dali::WebEngine& webEngine )
Internal::Adaptor::GetImplementation( *this ).RegisterContextMenuHiddenCallback(callback);
}
+void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
+{
+ Internal::Adaptor::GetImplementation(*this).GetPlainTextAsynchronously(callback);
+}
+
} // namespace Dali;
static std::unique_ptr<Dali::WebEngineContextMenu> gContextMenuHiddenInstance = nullptr;
static int gHitTestCreatedCallbackCalled = 0;
static int gCookieManagerChangsWatchCallbackCalled = 0;
+static int gPlainTextReceivedCallbackCalled = 0;
struct CallbackFunctor
{
return true;
}
+static bool OnPlainTextReceived(const std::string& plainText)
+{
+ gPlainTextReceivedCallbackCalled++;
+ return true;
+}
+
static void OnPageLoadError(std::unique_ptr<Dali::WebEngineLoadError> error)
{
gPageLoadErrorCallbackCalled++;
END_TEST;
}
+int UtcDaliWebViewGetPlainText(void)
+{
+ ToolkitTestApplication application;
+
+ WebView view = WebView::New();
+ DALI_TEST_CHECK(view);
+
+ view.LoadUrl(TEST_URL1);
+
+ view.GetPlainTextAsynchronously(&OnPlainTextReceived);
+ Test::EmitGlobalTimerSignal();
+ DALI_TEST_EQUALS(gPlainTextReceivedCallbackCalled, 1, TEST_LOCATION);
+
+ END_TEST;
+}
+
Dali::Toolkit::GetImpl(*this).RegisterContextMenuHiddenCallback(callback);
}
+void WebView::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
+{
+ Dali::Toolkit::GetImpl(*this).GetPlainTextAsynchronously(callback);
+}
+
WebView::WebView(Internal::WebView& implementation)
: Control(implementation)
{
*/
void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback);
+ /**
+ * @brief Get a plain text of current web page asynchronously.
+ *
+ * @param[in] callback The callback function called asynchronously.
+ */
+ void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback);
+
public: // Not intended for application developers
/// @cond internal
/**
}
}
+void WebView::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
+{
+ if(mWebEngine)
+ {
+ mWebEngine.GetPlainTextAsynchronously(callback);
+ }
+}
+
void WebView::OnFrameRendered()
{
if(mFrameRenderedCallback)
*/
void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback);
+ /**
+ * @copydoc Dali::Toolkit::WebView::GetPlainTextAsynchronously()
+ */
+ void GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback);
+
public: // Properties
/**
* @brief Called when a property of an object of this type is set.