Added an option to select the web engine type in the WebView constructor 40/318340/2
authordongsug.song <dongsug.song@samsung.com>
Thu, 19 Sep 2024 07:11:07 +0000 (16:11 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Fri, 27 Sep 2024 07:23:04 +0000 (16:23 +0900)
- Previously, the web engine was fixed and selected for all DALi/NUI APPs in dali.sh, but now it can be chosen in the constructor.

Change-Id: I442edc86cbc93bc5a71c467b2aea8a46475607db

automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-web-engine.cpp
automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp
dali-toolkit/devel-api/controls/web-view/web-view.cpp
dali-toolkit/devel-api/controls/web-view/web-view.h
dali-toolkit/internal/controls/web-view/web-view-impl.cpp
dali-toolkit/internal/controls/web-view/web-view-impl.h

index 71436e8a05a8c5b4083e29a873dda668be3d6bc9..9e65051a8805b5efc00f2c6641740b0a945d7845 100644 (file)
@@ -2427,6 +2427,14 @@ WebEngine WebEngine::New()
   return WebEngine(baseObject);
 }
 
+WebEngine WebEngine::New(int32_t type)
+{
+  //type is used for actual target
+  Internal::Adaptor::WebEngine* baseObject = new Internal::Adaptor::WebEngine();
+
+  return WebEngine(baseObject);
+}
+
 Dali::WebEngineContext* WebEngine::GetContext()
 {
   return Internal::Adaptor::GetContext();
index 6946a930098ecc6e91f5444ffcf083935c5c7d10..b3901d1dfd104424a6109a4a4c6d2677768ae9c0 100644 (file)
@@ -1211,7 +1211,7 @@ int UtcDaliWebViewGetScreenshotSyncAndAsync(void)
   ToolkitTestApplication application;
 
   char    argv[] = "--test";
-  WebView view   = WebView::New(1, (char**)&argv);
+  WebView view   = WebView::New(1, (char**)&argv, 0);
   DALI_TEST_CHECK(view);
 
   // Check GetScreenshot
index 7900fc1d535dd3470de146099264d37258854729..ccaebf141199dae5b1db5a1cd429f313dafca803 100755 (executable)
@@ -61,7 +61,12 @@ WebView WebView::New(const std::string& locale, const std::string& timezoneId)
 
 WebView WebView::New(uint32_t argc, char** argv)
 {
-  return Internal::WebView::New(argc, argv);
+  return Internal::WebView::New(argc, argv, -1);
+}
+
+WebView WebView::New(uint32_t argc, char** argv, int32_t type)
+{
+  return Internal::WebView::New(argc, argv, type);
 }
 
 Toolkit::WebView WebView::FindWebView(Dali::WebEnginePlugin* plugin)
index 6b5c5dd545c73da859cbb6d2d585463a11a564b4..bfdf85c41aa34d674a47c71f9c0584d36e87f435 100755 (executable)
@@ -216,6 +216,15 @@ public:
    */
   static WebView New(uint32_t argc, char** argv);
 
+  /**
+   * @brief Create an initialized WebView with web engine type.
+   *
+   * @param [in] argc The count of arguments of Applications
+   * @param [in] argv The string array of arguments of Applications
+   * @param [in] type The web engine type (0: Chromium, 1: LWE, otherwise: depend on system environment)
+   */
+  static WebView New(uint32_t argc, char** argv, int32_t type);
+
   /**
    * @brief Find web view by web engine plugin.
    */
index ff4665e71ce22e1c7b5a94bd4be398b58f69f8c2..a1b801a204ee193cc19e670a55b60517c663919e 100644 (file)
@@ -179,7 +179,7 @@ WebView::WebView(const std::string& locale, const std::string& timezoneId)
   }
 }
 
-WebView::WebView(uint32_t argc, char** argv)
+WebView::WebView(uint32_t argc, char** argv, int32_t type)
 : Control(ControlBehaviour(ACTOR_BEHAVIOUR_DEFAULT | DISABLE_STYLE_CHANGE_SIGNALS)),
   mVisual(),
   mWebViewSize(Stage::GetCurrent().GetSize()),
@@ -196,7 +196,7 @@ WebView::WebView(uint32_t argc, char** argv)
   mCornerRadius(Vector4::ZERO),
   mCornerRadiusPolicy(1.0f)
 {
-  mWebEngine = Dali::WebEngine::New();
+  mWebEngine = Dali::WebEngine::New(type);
 
   // WebEngine is empty when it is not properly initialized.
   if(mWebEngine)
@@ -247,9 +247,9 @@ Toolkit::WebView WebView::New(const std::string& locale, const std::string& time
   return handle;
 }
 
-Toolkit::WebView WebView::New(uint32_t argc, char** argv)
+Toolkit::WebView WebView::New(uint32_t argc, char** argv, int32_t type)
 {
-  WebView*         impl   = new WebView(argc, argv);
+  WebView*         impl   = new WebView(argc, argv, type);
   Toolkit::WebView handle = Toolkit::WebView(*impl);
   if(impl->GetPlugin())
   {
index 3a7ee8820643ce0ecbec422338a15e33b55b268c..434013a16e99b2481b5f455f7ad48cc525fbd2b4 100644 (file)
@@ -52,7 +52,7 @@ protected:
 
   WebView(const std::string& locale, const std::string& timezoneId);
 
-  WebView(uint32_t argc, char** argv);
+  WebView(uint32_t argc, char** argv, int32_t type);
 
   virtual ~WebView();
 
@@ -68,9 +68,9 @@ public:
   static Toolkit::WebView New(const std::string& locale, const std::string& timezoneId);
 
   /**
-   * @copydoc Dali::Toolkit::WebView::New( uint32_t, char** )
+   * @copydoc Dali::Toolkit::WebView::New( uint32_t, char**, int32_t )
    */
-  static Toolkit::WebView New(uint32_t argc, char** argv);
+  static Toolkit::WebView New(uint32_t argc, char** argv, int32_t type);
 
   /**
    * @copydoc Dali::Toolkit::WebView::FindWebView()