When change system language setting, the webapp in background comes out foreground.
Re-designed about wrt system language change action. It doesn't works as reset event any more.
*/
virtual WidgetModelPtr GetModel() = 0;
/**
+ * Reload start page on widget.
+ */
+ virtual void ReloadStartPage() = 0;
+ /**
* Retrieve widget's top level webview
* @return Evas_Object*
*/
void RunnableWidgetObject::Resume()
{
LogDebug("Resuming widget");
- Assert(m_widgetModel);
m_view->resumeWidget();
}
void RunnableWidgetObject::Reset()
{
- LogDebug("Resetting widget");
- Assert(m_widgetModel);
-
+ LogDebug("Reseting widget");
m_view->resetWidget();
}
-WidgetModelPtr RunnableWidgetObject::GetModel() {
+WidgetModelPtr RunnableWidgetObject::GetModel()
+{
Assert(m_widgetModel);
return m_widgetModel;
}
+void RunnableWidgetObject::ReloadStartPage()
+{
+ m_view->reloadStartPage();
+}
+
Evas_Object* RunnableWidgetObject::GetCurrentWebview() {
return m_view->getCurrentWebview();
}
void Resume();
void Reset();
WidgetModelPtr GetModel();
+ void ReloadStartPage();
Evas_Object* GetCurrentWebview();
void SetUserCallbacks(UserCallbacksPtr cbs, void *data);
void GoBack();
virtual void resumeWidget() = 0;
virtual void resetWidget() = 0;
virtual void goBack() = 0;
+ virtual void reloadStartPage() = 0;
virtual Evas_Object* getCurrentWebview() = 0;
virtual void setUserCallbacks(WRT::UserCallbacksPtr cbs, void *data) = 0;
};
}
}
+void ViewLogic::reloadStartPage()
+{
+ LogInfo("Reload Start Page");
+
+ if (m_ewkViewList.size() == 0)
+ {
+ // create new webview
+ createEwkView();
+ ewkClientInit(m_currentEwkView);
+ }
+ else
+ {
+ // close opened windows
+ while (m_ewkViewList.size() > 1)
+ {
+ if (m_cbs->bufferUnset) {
+ m_cbs->bufferUnset(m_currentEwkView, m_cbsData);
+ }
+ removeEwkView(m_currentEwkView);
+
+ m_currentEwkView = m_ewkViewList.back();
+ }
+
+ LogInfo("Close ewkViews done : m_ewkViewList.size() = "
+ << m_ewkViewList.size());
+ }
+
+ setStartPage();
+ prepareEwkView(m_currentEwkView);
+ initializePluginLoading();
+
+ // load page
+ WKURLRef baseUrl = WKURLCreateWithUTF8CString(m_currentUri.c_str());
+
+ if (!baseUrl)
+ {
+ LogError("URL creation failed");
+ return;
+ }
+
+ WKPageLoadURL(ewk_view_WKPage_get(m_currentEwkView), baseUrl);
+ WKRelease(baseUrl);
+
+ // show ewkView
+ if (m_cbs->bufferSet)
+ {
+ m_cbs->bufferSet(m_currentEwkView, m_cbsData);
+ }
+
+ LogInfo("Reloading Start Page is done!");
+}
+
Evas_Object* ViewLogic::getCurrentWebview()
{
LogInfo("get current webview");
void resumeWidget();
void resetWidget();
void goBack();
+ void reloadStartPage();
Evas_Object* getCurrentWebview();
void setUserCallbacks(WRT::UserCallbacksPtr cbs, void *data);
if (true == wrtClient->m_launched &&
wrtClient->m_widgetState != WidgetState_Stopped) {
- wrtClient->m_widget->Reset();
+ wrtClient->m_widget->ReloadStartPage();
}
}
return 0;