tizen 2.4 release
[framework/web/wrt-plugins-common.git] / src / plugin-loading / plugin_logic.cpp
old mode 100644 (file)
new mode 100755 (executable)
similarity index 95%
rename from src_wearable/plugin-loading/plugin_logic.cpp
rename to src/plugin-loading/plugin_logic.cpp
index 8458501..2ffabc6
@@ -27,7 +27,6 @@
 #include "plugin_logic.h"
 
 #include <dpl/assert.h>
-#include <dpl/scoped_array.h>
 #include <dpl/log/secure_log.h>
 #include <dpl/foreach.h>
 #include <dpl/singleton_impl.h>
@@ -36,6 +35,7 @@
 #include <dpl/wrt-dao-ro/global_config.h>
 
 #include <JavaScriptCore/JavaScript.h>
+#include <CommonsJavaScript/JSLifeManager.h>
 
 #include <string>
 #include <sys/types.h>
@@ -82,8 +82,8 @@ class PluginLogic::Impl
     ~Impl();
 
     // Widget session
-    void initSession(int widgetHandle);
-    void startSession(int widgetHandle,
+    void initSession(WidgetHandle widgetHandle);
+    void startSession(WidgetHandle widgetHandle,
                       JSGlobalContextRef context,
                       double scaleFactor,
                       const char* encodedBundle,
@@ -131,7 +131,6 @@ PluginLogic::Impl::Impl() :
 {
     s_sanityCheck = true;
 
-    DPL::Log::LogSystemSingleton::Instance().SetTag("WRT_PLUGINS");
     _D("Initializing Plugin Logic...");
     m_pluginsSupport = PluginContainerSupportPtr(new PluginContainerSupport());
 
@@ -153,12 +152,12 @@ PluginLogic::Impl::~Impl()
     }
 }
 
-void PluginLogic::initSession(int widgetHandle)
+void PluginLogic::initSession(WidgetHandle widgetHandle)
 {
     m_impl->initSession(widgetHandle);
 }
 
-void PluginLogic::startSession(int widgetHandle,
+void PluginLogic::startSession(WidgetHandle widgetHandle,
                                JSGlobalContextRef ctx,
                                double scaleFactor,
                                const char* encodedBundle,
@@ -220,12 +219,14 @@ void PluginLogic::dispatchJavaScriptEvent(JSGlobalContextRef context,
 
 void PluginLogic::loadFrame(JSGlobalContextRef context)
 {
+    WrtDeviceApis::CommonsJavaScript::JSLifeManager::GetInstance().AddGlobalContext(context);
     m_impl->loadFrame(context);
 }
 
 void PluginLogic::unloadFrame(JSGlobalContextRef context)
 {
     m_impl->unloadFrame(context);
+    WrtDeviceApis::CommonsJavaScript::JSLifeManager::GetInstance().ReleaseContext(context);
 }
 
 unsigned int PluginLogic::windowHandle() const
@@ -244,7 +245,7 @@ PluginLogic::PluginLogic() : m_impl(new PluginLogic::Impl())
 PluginLogic::~PluginLogic()
 {}
 
-void PluginLogic::Impl::initSession(int widgetHandle)
+void PluginLogic::Impl::initSession(WidgetHandle widgetHandle)
 {
     _D(">---------------------[init session START]---------------------<");
 
@@ -278,7 +279,7 @@ void PluginLogic::Impl::initSession(int widgetHandle)
     _D("========== init session END ==========");
 }
 
-void PluginLogic::Impl::startSession(int widgetHandle,
+void PluginLogic::Impl::startSession(WidgetHandle widgetHandle,
                                      JSGlobalContextRef context,
                                      double scaleFactor,
                                      const char* encodedBundle,