, m_tabLimit(0)
, m_favoritesLimit(0)
, m_wvIMEStatus(false)
+ , m_webEngineHadFocusBeforeSuspend(false)
#if PROFILE_MOBILE
, m_current_angle(0)
, m_temp_angle(0)
void SimpleUI::suspend()
{
+ //TODO: Delete when web_view fixed unfocus on suspend issue
+ m_webEngineHadFocusBeforeSuspend = m_webEngine->hasFocus();
m_webEngine->suspend();
}
void SimpleUI::resume()
{
m_webEngine->resume();
+ //TODO: Delete when web_view fixed unfocus on suspend issue
+ if (m_webEngineHadFocusBeforeSuspend)
+ m_webEngineFocusWorkaroundTimer = ecore_timer_add(0.0, web_view_set_focus_timer, this);
+
#if PROFILE_MOBILE
if (m_findOnPageUI && (evas_object_visible_get(m_findOnPageUI->getContent()) == EINA_TRUE))
m_findOnPageUI->show_ime();
#endif
}
+Eina_Bool SimpleUI::web_view_set_focus_timer(void *data)
+{
+ BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+ SimpleUI * simpleUI = static_cast<SimpleUI*>(data);
+ simpleUI->m_webEngine->setFocus();
+ return ECORE_CALLBACK_CANCEL;
+}
+
void SimpleUI::destroyUI()
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
void resume();
void destroyUI();
+ static Eina_Bool web_view_set_focus_timer(void *data);
private:
// setup functions
void loadUIServices();
int m_tabLimit;
int m_favoritesLimit;
bool m_wvIMEStatus;
+ bool m_webEngineHadFocusBeforeSuspend;
std::string m_folder_name;
//helper object used to view management
int m_current_angle;
int m_temp_angle;
#endif
+ Ecore_Timer* m_webEngineFocusWorkaroundTimer;
};
}