[Tizen] Support web engine selection using environment variable submit/tizen/20181105.085653 submit/tizen/20181105.120114
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Mon, 5 Nov 2018 08:18:04 +0000 (17:18 +0900)
committerSeoyeon Kim <seoyeon2.kim@samsung.com>
Mon, 5 Nov 2018 08:18:09 +0000 (17:18 +0900)
This reverts commit d2a1fb88c3946b6edcb3987792309bf110ecb41f.

Change-Id: I3c719ef57d271ea78d65c69592d6844fdfd6895f

dali/internal/web-engine/common/web-engine-impl.cpp

index 988462d..0ef38d3 100644 (file)
 #include <dali/integration-api/debug.h>
 #include <dali/public-api/adaptor-framework/native-image-source.h>
 #include <dali/public-api/object/type-registry.h>
+#include <string.h>
+
+// INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/environment-variable.h>
 
 namespace Dali
 {
@@ -36,7 +40,14 @@ namespace Adaptor
 namespace // unnamed namespace
 {
 
+#define DALI_ENV_WEB_ENGINE_NAME "DALI_WEB_ENGINE_NAME"
+
+const char* WEB_ENGINE_CHROMIUM_NAME( "chromium" );
+const char* WEB_ENGINE_LITE_NAME( "lightweight" );
+
 const char* WEB_ENGINE_PLUGIN_SO( "libdali-web-engine-plugin.so" );
+const char* WEB_ENGINE_CHROMIUM_PLUGIN_SO( "libdali-web-engine-chromium-plugin.so" );
+const char* WEB_ENGINE_LITE_PLUGIN_SO( "libdali-web-engine-lite-plugin.so" );
 
 Dali::BaseHandle Create()
 {
@@ -88,7 +99,22 @@ bool WebEngine::Initialize()
 {
   char* error = NULL;
 
-  mHandle = dlopen( WEB_ENGINE_PLUGIN_SO, RTLD_LAZY );
+  const char* engineName = WEB_ENGINE_PLUGIN_SO;
+  const char* engineEnvName = EnvironmentVariable::GetEnvironmentVariable( DALI_ENV_WEB_ENGINE_NAME );
+
+  if ( engineEnvName )
+  {
+    if( 0 == strcmp( engineEnvName, WEB_ENGINE_CHROMIUM_NAME ) )
+    {
+      engineName = WEB_ENGINE_CHROMIUM_PLUGIN_SO;
+    }
+    else if( 0 == strcmp( engineEnvName, WEB_ENGINE_LITE_NAME ) )
+    {
+      engineName = WEB_ENGINE_LITE_PLUGIN_SO;
+    }
+  }
+
+  mHandle = dlopen( engineName, RTLD_LAZY );
 
   error = dlerror();
   if( mHandle == NULL || error != NULL )