From: Jihoon Chung Date: Wed, 31 Oct 2012 01:07:06 +0000 (+0900) Subject: Fixed N_SE-12031 X-Git-Tag: 2.1b_release~22^2~242 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5d8c0368e705d976af7d1406769961bda094405;p=platform%2Fframework%2Fweb%2Fwrt.git Fixed N_SE-12031 [Issue#] N_SE-12031 [Problem] Select any editor field for shown IME. Press Home key for webapp move to background Launch "Application" webapp and select "Launch" button for webapp which is moved to background After webapp is launched, IME isn't displayed. [Cause] Exactly, default reset event means reset webapp. This issue is occurred by webapp is still on the previous page. [Solution] Change default action to reset webapp when received reset event from other webapp. [SCMRequest] N/A Change-Id: Idf97cdf7b406ba62a9af2ff282a11dbe1e154f79 --- diff --git a/src/view/webkit/view_logic.cpp b/src/view/webkit/view_logic.cpp index 7d6444a..a18cc17 100644 --- a/src/view/webkit/view_logic.cpp +++ b/src/view/webkit/view_logic.cpp @@ -270,29 +270,21 @@ void ViewLogic::resetWidget() ewkClientInit(m_currentEwkView); prepareEwkView(m_currentEwkView); } else { - bundle *bundle = ApplicationDataSingleton::Instance().getBundle(); - const char *operation = appsvc_get_operation(bundle); - LogInfo("operation : " << operation); - if (operation && - !strcmp(operation, APPSVC_OPERATION_DEFAULT)) { - // ignore default operation that is reserved by system - // just activate current window - LogInfo("raise window"); - elm_win_raise(m_window); - resumeWebkit(m_currentEwkView); - return; - } - // check if current url is service url for this tizen service std::string requestedUri = ViewModule::UriSupport::getUri(m_model, m_startUrl); DPL::OptionalString servicedUri = ViewModule::UriSupport::localizeURI( DPL::FromUTF8String(requestedUri.c_str()), m_model); - if (m_currentUri == DPL::ToUTF8String(*servicedUri)) { + + const char* currentUri = ewk_view_uri_get(m_currentEwkView); + if (!currentUri && 0 == strlen(currentUri)) { + LogError("Fail to get uri from ewk_view_uri_get"); + return; + } + if (DPL::ToUTF8String(*servicedUri) == currentUri) { // set only encoded bundle double scale = elm_config_scale_get(); - PluginModuleSupport::setCustomProperties( m_ewkContext, &scale, @@ -301,28 +293,22 @@ void ViewLogic::resetWidget() PluginModuleSupport::dispatchJavaScriptEvent( m_ewkContext, WrtPlugins::W3C::ServiceCustomEvent); - // window activate - if (m_window) { - elm_win_raise(m_window); - } - resumeWebkit(m_currentEwkView); - return; + ewk_view_reload(m_currentEwkView); } else { m_currentUri = DPL::ToUTF8String(*servicedUri); + // inform wrt information for plugin loading to web process + PluginModuleSupport::start( + m_ewkContext, + m_model->Handle.Get(), + elm_config_scale_get(), + ApplicationDataSingleton::Instance().getEncodedBundle(), + m_theme.c_str(), + m_model->SettingList.Get().isEncrypted()); + // load page + ewk_view_uri_set(m_currentEwkView, m_currentUri.c_str()); } } - // inform wrt information for plugin loading to web process - PluginModuleSupport::start( - m_ewkContext, - m_model->Handle.Get(), - elm_config_scale_get(), - ApplicationDataSingleton::Instance().getEncodedBundle(), - m_theme.c_str(), - m_model->SettingList.Get().isEncrypted()); - - // load page - ewk_view_uri_set(m_currentEwkView, m_currentUri.c_str()); resumeWebkit(m_currentEwkView); // call user callback