Implement WebView::GetPlainTextAsynchronously
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-web-engine.cpp
index e6f47a8..c1d8700 100755 (executable)
@@ -84,6 +84,7 @@ bool OnFormPasswordAcquired();
 bool OnDownloadStarted();
 bool OnMimeOverridden();
 bool OnChangesWatch();
+bool OnPlainTextReceived();
 
 static void ConnectToGlobalSignal( bool ( *func )() )
 {
@@ -1532,6 +1533,15 @@ public:
     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;
@@ -1577,6 +1587,7 @@ public:
   Dali::WebEnginePlugin::VideoPlayingCallback                    mVideoPlayingCallback;
   Dali::WebEnginePlugin::GeolocationPermissionCallback           mGeolocationPermissionCallback;
   Dali::WebEnginePlugin::WebEngineHitTestCreatedCallback         mHitTestCreatedCallback;
+  Dali::WebEnginePlugin::PlainTextReceivedCallback               mPlainTextReceivedCallback;
 };
 
 
@@ -1884,6 +1895,17 @@ bool OnChangesWatch()
   return false;
 }
 
+bool OnPlainTextReceived()
+{
+  DisconnectFromGlobalSignal(&OnPlainTextReceived);
+  if (gInstance)
+  {
+    std::string dummyResultText;
+    gInstance->mPlainTextReceivedCallback(dummyResultText);
+  }
+  return false;
+}
+
 } // namespace
 
 inline WebEngine& GetImplementation( Dali::WebEngine& webEngine )
@@ -2391,5 +2413,10 @@ void WebEngine::RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngi
   Internal::Adaptor::GetImplementation( *this ).RegisterContextMenuHiddenCallback(callback);
 }
 
+void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
+{
+  Internal::Adaptor::GetImplementation(*this).GetPlainTextAsynchronously(callback);
+}
+
 } // namespace Dali;