ecore_wl2_window_alpha_set( win, !enabled );
}
+ void GetPlainTextAsynchronously()
+ {
+ ewk_view_plain_text_get(mWebView, &WebViewContainerForDali::OnPlainTextReceived, &mClient);
+ }
+
private:
static void OnFrameRendered( void* data, Evas_Object*, void* buffer )
{
}
}
+ 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);
+ }
+
private:
Evas_Object* mWebView;
WebViewContainerClient& mClient;
}
}
}
+
private:
tbm_surface_h mSurface;
};
return mScrollEdgeReachedSignal;
}
+void TizenWebEngineChromium::GetPlainTextAsynchronously(PlainTextReceivedCallback callback)
+{
+ if (mWebViewContainer)
+ {
+ mPlainTextReceivedCallback = callback;
+ mWebViewContainer->GetPlainTextAsynchronously();
+ }
+}
+
// WebViewContainerClient Interface
void TizenWebEngineChromium::UpdateImage( tbm_surface_h buffer )
{
handler->second( message );
}
+
+void TizenWebEngineChromium::PlainTextRecieved(const std::string& plainText)
+{
+ if (mPlainTextReceivedCallback)
+ {
+ mPlainTextReceivedCallback(plainText);
+ }
+}
+
} // namespace Plugin
} // namespace Dali
* @see Dali::Plugin::TizenWebEngineChromium::AddJavaScriptMessageHandler
*/
virtual void RunJavaScriptMessageHandler( const std::string& objectName, const std::string& message ) = 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;
};
/**
*/
Dali::WebEnginePlugin::WebEngineScrollEdgeReachedSignalType& ScrollEdgeReachedSignal() override;
+ /**
+ * @copydoc Dali::WebEnginePlugin::GetPlainTextAsynchronously()
+ */
+ void GetPlainTextAsynchronously(PlainTextReceivedCallback callback) override;
// WebViewContainerClient Interface
*/
void RunJavaScriptMessageHandler( const std::string& objectName, const std::string& message ) override;
+ /**
+ * @copydoc Dali::Plugin::WebViewContainerClient::PlainTextRecieved()
+ */
+ void PlainTextRecieved(const std::string& plainText) override;
+
private:
WebViewContainerForDali* mWebViewContainer;
std::unordered_map< size_t, JavaScriptCallback > mJavaScriptEvaluationResultHandlers;
std::unordered_map< std::string, JavaScriptCallback > mJavaScriptMessageHandlers;
+
+ PlainTextReceivedCallback mPlainTextReceivedCallback;
};
} // namespace Plugin
} // namespace Dali