ecore_wl2_window_alpha_set(win, !enabled);
}
+ void GetPlainTextAsynchronously()
+ {
+ ewk_view_plain_text_get(mWebView, &WebViewContainerForDali::OnPlainTextReceived, &mClient);
+ }
+
private:
static Dali::PixelData ConvertImageColorSpace(Evas_Object *image)
{
client->ConsoleMessageReceived(std::move(webConsoleMessage));
}
+ static void OnPlainTextReceived(Evas_Object* o, const char* plainText, void* data)
+ {
+ auto client = static_cast<WebViewContainerClient*>(data);
+ std::string resultText;
+
+ if (plainText != nullptr)
+ {
+ resultText = std::string(plainText);
+ }
+
+ client->PlainTextRecieved(resultText);
+ }
+
static void OnEdgeLeft(void* data, Evas_Object*, void*)
{
auto client = static_cast<WebViewContainerClient*>(data);
mContextMenuHiddenCallback = callback;
}
+void TizenWebEngineChromium::GetPlainTextAsynchronously(PlainTextReceivedCallback callback)
+{
+ if (mWebViewContainer)
+ {
+ mPlainTextReceivedCallback = callback;
+ mWebViewContainer->GetPlainTextAsynchronously();
+ }
+}
+
// WebViewContainerClient Interface
void TizenWebEngineChromium::UpdateImage(tbm_surface_h buffer)
{
return ExecuteCallbackReturn<bool>(mHitTestCreatedCallback, std::move(hitTest));
}
+void TizenWebEngineChromium::PlainTextRecieved(const std::string& plainText)
+{
+ ExecuteCallback(mPlainTextReceivedCallback, plainText);
+}
+
} // namespace Plugin
} // namespace Dali
* @brief Callback function to be called by WebViewContainer after hit test is created.
*/
virtual bool HitTestCreated(std::unique_ptr<Dali::WebEngineHitTest> hitTest) = 0;
+
+ /**
+ * @brief Callback function to be called by WebViewContainer as a result of getting plain text.
+ * @param [in] plainText The obtained plain text.
+ */
+ virtual void PlainTextRecieved(const std::string& plainText) = 0;
};
/**
*/
void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) override;
+ /**
+ * @copydoc Dali::WebEnginePlugin::GetPlainTextAsynchronously()
+ */
+ void GetPlainTextAsynchronously(PlainTextReceivedCallback callback) override;
+
// WebViewContainerClient Interface
/**
*/
bool HitTestCreated(std::unique_ptr<Dali::WebEngineHitTest> hitTest) override;
+ /**
+ * @copydoc Dali::Plugin::WebViewContainerClient::PlainTextRecieved()
+ */
+ void PlainTextRecieved(const std::string& plainText) override;
+
private:
WebViewContainerForDali* mWebViewContainer;
Dali::NativeImageSourcePtr mDaliImageSrc;
ScreenshotCapturedCallback mScreenshotCapturedCallback;
VideoPlayingCallback mVideoPlayingCallback;
GeolocationPermissionCallback mGeolocationPermissionCallback;
+ PlainTextReceivedCallback mPlainTextReceivedCallback;
std::unordered_map<size_t, JavaScriptMessageHandlerCallback> mJavaScriptEvaluationResultHandlers;
std::unordered_map<std::string, JavaScriptMessageHandlerCallback> mJavaScriptMessageHandlers;