#include <widget_deserialize_model.h>
#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
#include <dpl/wrt-dao-ro/global_dao_read_only.h>
+#include "webkit/bundles/plugin_module_support.h"
#include <EWebKit2.h>
RunnableWidgetObjectPtr getRunnableWidgetObject(
const std::string& tizenId)
{
+ PluginModuleSupport::init(m_ewkContext, tizenId);
+
try {
RunnableWidgetObjectPtr runnable;
WidgetModelPtr model = Domain::deserializeWidgetModel(tizenId);
ssMsg >> argTheme;
ssMsg >> m_encrypted;
- WrtDB::WidgetDAOReadOnly dao(m_widgetTizenId);
- /* This type of message is received when widget is restarting
- * (proably in other situation too). Widget restart can be
- * called after system language change so language tags have to
- * be recreated here.
- * Do NOT MOVE LanguageTags reset before m_widgetHandle initialization
- */
- // reset language tags (create new tags based on system locales)
- LanguageTagsProviderSingleton::Instance().resetLanguageTags();
- DPL::OptionalString defaultLocale = dao.getDefaultlocale();
- if(!defaultLocale.IsNull())
- {
- LanguageTagsProviderSingleton::Instance().addWidgetDefaultLocales(*defaultLocale);
- }
- LanguageTags tags = LanguageTagsProviderSingleton::Instance().getLanguageTags();
- LogDebug("Current widget locales (language tags):");
- FOREACH(it, tags) {
- LogDebug("Locale: " << *it);
- }
-
// ** Language tags setting completed **
fixWKMessageArgs(argScale, argEncodedBundle, argTheme);
-
- m_widgetType = dao.getWidgetType();
- LogDebug("m_widgetType : " << m_widgetType.getApptypeToString() <<
- "(m_widgetTizenId:" << m_widgetTizenId << ")");
}
else if (WKStringIsEqualToUTF8CString(messageName,
BundleMessages::SHUTDOWN))
delete static_cast<SoftKeyboardChangeArgs *>(args);
}
}
+ else if (WKStringIsEqualToUTF8CString(
+ messageName,
+ BundleMessages::INIT))
+ {
+ LogDebug("initializing plugins");
+ auto msgString = toString(static_cast<WKStringRef>(messageBody));
+
+ m_widgetTizenId = DPL::FromASCIIString(msgString);
+
+ WrtDB::WidgetDAOReadOnly dao(m_widgetTizenId);
+ /* This type of message is received when widget is restarting
+ * (proably in other situation too). Widget restart can be
+ * called after system language change so language tags have to
+ * be recreated here.
+ * Do NOT MOVE LanguageTags reset before m_widgetHandle initialization
+ */
+ // reset language tags (create new tags based on system locales)
+ LanguageTagsProviderSingleton::Instance().resetLanguageTags();
+ DPL::OptionalString defaultLocale = dao.getDefaultlocale();
+ if(!defaultLocale.IsNull())
+ {
+ LanguageTagsProviderSingleton::Instance().addWidgetDefaultLocales(*defaultLocale);
+ }
+ LanguageTags tags = LanguageTagsProviderSingleton::Instance().getLanguageTags();
+ LogDebug("Current widget locales (language tags):");
+ FOREACH(it, tags) {
+ LogDebug("Locale: " << *it);
+ }
+
+ m_widgetType = dao.getWidgetType();
+ LogDebug("m_widgetType : " << m_widgetType.getApptypeToString() <<
+ "(m_widgetTizenId:" << m_widgetTizenId << ")");
+
+ LogDebug("Preload PluginLogicSingleton");
+ PluginModule::init(WrtDB::WidgetDAOReadOnly::getHandle(m_widgetTizenId));
+ LogDebug("Preload PluginLogicSingleton_end");
+ }
}
WKURLRequestRef Bundle::willSendRequestForFrameCallback(