From: Jihoon Chung Date: Fri, 19 Apr 2013 11:51:07 +0000 (+0900) Subject: [Release] wrt_0.8.185 X-Git-Tag: 2.1b_release~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e2c4e09b7702ea71e421d220eec42580f3f5e34f;p=platform%2Fframework%2Fweb%2Fwrt.git [Release] wrt_0.8.185 --- diff --git a/packaging/wrt.spec b/packaging/wrt.spec index 1a7aef2..1d811f3 100644 --- a/packaging/wrt.spec +++ b/packaging/wrt.spec @@ -1,7 +1,7 @@ -#git:framework/web/wrt wrt_0.8.184 +#git:framework/web/wrt wrt_0.8.185 Name: wrt Summary: web runtime -Version: 0.8.184 +Version: 0.8.185 Release: 1 Group: Development/Libraries License: Apache License, Version 2.0 diff --git a/src/api_new/core_module.cpp b/src/api_new/core_module.cpp index 873e716..eed7108 100644 --- a/src/api_new/core_module.cpp +++ b/src/api_new/core_module.cpp @@ -131,28 +131,19 @@ class CoreModuleImpl RunnableWidgetObjectPtr getRunnableWidgetObject( const std::string& tizenId, DPL::Optional serviceIndex) - { - try { - RunnableWidgetObjectPtr runnable; - WidgetModelPtr model = - Domain::deserializeWidgetModel(tizenId, serviceIndex); - if (!!model) { - runnable.reset(new RunnableWidgetObject(model)); - } - return runnable; - } catch (WrtDB::WidgetDAOReadOnly::Exception::WidgetNotExist) { - LogDebug("Widget not found."); - return RunnableWidgetObjectPtr(); - } - } #else RunnableWidgetObjectPtr getRunnableWidgetObject( const std::string& tizenId) +#endif { try { RunnableWidgetObjectPtr runnable; WidgetModelPtr model = +#ifdef MULTIPROCESS_SERVICE_SUPPORT + Domain::deserializeWidgetModel(tizenId, serviceIndex); +#else Domain::deserializeWidgetModel(tizenId); +#endif if (!!model) { runnable.reset(new RunnableWidgetObject(model)); } @@ -162,7 +153,6 @@ class CoreModuleImpl return RunnableWidgetObjectPtr(); } } -#endif CoreModule::NetworkAccessMode homeNetworkAccess() { @@ -225,16 +215,17 @@ void CoreModule::Terminate() RunnableWidgetObjectPtr CoreModule::getRunnableWidgetObject( const std::string& tizenId, DPL::Optional serviceIndex) -{ - return m_impl->getRunnableWidgetObject(tizenId, serviceIndex); -} #else RunnableWidgetObjectPtr CoreModule::getRunnableWidgetObject( const std::string& tizenId) +#endif { +#ifdef MULTIPROCESS_SERVICE_SUPPORT + return m_impl->getRunnableWidgetObject(tizenId, serviceIndex); +#else return m_impl->getRunnableWidgetObject(tizenId); -} #endif +} CoreModule::NetworkAccessMode CoreModule::homeNetworkAccess() { diff --git a/src/api_new/ewk_context_manager.cpp b/src/api_new/ewk_context_manager.cpp old mode 100755 new mode 100644 index 7a9dcb3..8a03146 --- a/src/api_new/ewk_context_manager.cpp +++ b/src/api_new/ewk_context_manager.cpp @@ -133,6 +133,11 @@ bool EwkContextManager::initialize() m_ewkContext, EWK_EXTENSIBLE_API_MEDIA_STREAM_RECORD, EINA_TRUE); + ewk_context_tizen_extensible_api_set( + m_ewkContext, + EWK_EXTENSIBLE_API_ROTATE_CAMERA_VIEW, + EINA_FALSE); + setAutoFullscreenMode(); setBackgroundSupport(); diff --git a/src/domain/widget_deserialize_model.cpp b/src/domain/widget_deserialize_model.cpp index e27a2eb..06c4f8a 100644 --- a/src/domain/widget_deserialize_model.cpp +++ b/src/domain/widget_deserialize_model.cpp @@ -31,49 +31,18 @@ namespace Domain { #ifdef MULTIPROCESS_SERVICE_SUPPORT std::shared_ptr deserializeWidgetModel(const std::string& tizenId, DPL::Optional serviceIndex) -{ - std::shared_ptr model; - DPL::String dplTizenId(DPL::FromUTF8String(tizenId)); - if (WrtDB::WidgetDAOReadOnly::isWidgetInstalled(dplTizenId)) { - LogDebug("Widget installed - creating model"); - model.reset(new WidgetModel(tizenId)); - model->AppServiceIndex.Set(serviceIndex); - - WrtDB::WidgetDAOReadOnly dao(dplTizenId); - DPL::Optional defloc = model->defaultlocale.Get(); - if (!defloc.IsNull()) { - LanguageTagsProviderSingleton::Instance().addWidgetDefaultLocales( - *defloc); - } - - WrtDB::WidgetAccessInfoList widgetAccessInfoList; - // widgetAccessInfoList is output parameter - dao.getWidgetAccessInfo(widgetAccessInfoList); - model->AccessList.Set(widgetAccessInfoList); - - // Widget application service information data - WidgetApplicationServiceList widgetApplicationServiceList; - // widgetApplicationServiceList is output parameter - dao.getAppServiceList(widgetApplicationServiceList); - model->AppServiceList.Set(widgetApplicationServiceList); - - // Set Widget Settings - WidgetSettings widgetSettings; - dao.getWidgetSettings(widgetSettings); - model->SettingList.Set(widgetSettings); - } else { - LogError("Widget is not installed - model not created"); - } - return model; -} #else std::shared_ptr deserializeWidgetModel(const std::string& tizenId) +#endif { std::shared_ptr model; DPL::String dplTizenId(DPL::FromUTF8String(tizenId)); if (WrtDB::WidgetDAOReadOnly::isWidgetInstalled(dplTizenId)) { LogDebug("Widget installed - creating model"); model.reset(new WidgetModel(tizenId)); +#ifdef MULTIPROCESS_SERVICE_SUPPORT + model->AppServiceIndex.Set(serviceIndex); +#endif WrtDB::WidgetDAOReadOnly dao(dplTizenId); DPL::Optional defloc = model->defaultlocale.Get(); @@ -102,6 +71,6 @@ std::shared_ptr deserializeWidgetModel(const std::string& tizenId) } return model; } -#endif + } //Namespace Domain diff --git a/src/domain/widget_deserialize_model.h b/src/domain/widget_deserialize_model.h index 88ce73d..dca79a6 100644 --- a/src/domain/widget_deserialize_model.h +++ b/src/domain/widget_deserialize_model.h @@ -31,11 +31,12 @@ namespace Domain { /** * @brief Creates widget model associated with selected * @param[in] tizenId + * @param[in] service index, NULL for widget content * @retval WidgetModel */ #ifdef MULTIPROCESS_SERVICE_SUPPORT std::shared_ptr deserializeWidgetModel(const std::string& tizenId, - DPL::Optional serviceIndex); + DPL::Optional serviceIndex); #else std::shared_ptr deserializeWidgetModel(const std::string& tizenId); #endif diff --git a/src/view/common/view_logic_apps_support.cpp b/src/view/common/view_logic_apps_support.cpp index 20cd44b..b25f5cd 100644 --- a/src/view/common/view_logic_apps_support.cpp +++ b/src/view/common/view_logic_apps_support.cpp @@ -145,7 +145,11 @@ class AppsSupportImplementation { notification_h noti = NULL; noti = notification_create(NOTIFICATION_TYPE_NOTI); - notification_set_layout(noti, NOTIFICATION_LY_ONGOING_EVENT); + + if (notification_set_layout(noti, NOTIFICATION_LY_ONGOING_EVENT) != NOTIFICATION_ERROR_NONE) { + return -1; + } + notification_set_text(noti, NOTIFICATION_TEXT_TYPE_TITLE, fileName.c_str(), @@ -159,14 +163,17 @@ class AppsSupportImplementation bundle *b = bundle_create(); if (!b) { + notification_free(noti); return -1; } if (appsvc_set_operation(b, APPSVC_OPERATION_VIEW) != APPSVC_RET_OK) { bundle_free(b); + notification_free(noti); return -1; } if (appsvc_set_uri(b, filePath.c_str()) != APPSVC_RET_OK) { bundle_free(b); + notification_free(noti); return -1; } notification_set_execute_option(noti, @@ -176,8 +183,11 @@ class AppsSupportImplementation b); int privId; - notification_insert(noti, &privId); + if (notification_insert(noti, &privId) != NOTIFICATION_ERROR_NONE) { + return -1; + } notification_free(noti); + bundle_free(b); return privId; } diff --git a/src/view/webkit/bundles/wrt-wk2-bundle.cpp b/src/view/webkit/bundles/wrt-wk2-bundle.cpp index 70b63b2..5b8c9b4 100644 --- a/src/view/webkit/bundles/wrt-wk2-bundle.cpp +++ b/src/view/webkit/bundles/wrt-wk2-bundle.cpp @@ -137,11 +137,15 @@ Tizen::Base::ByteBuffer *DecryptChunkByTrustZone( ByteBuffer pBuf; pBuf.Construct(inBufSize); const byte *pByte = reinterpret_cast(inBuffer); - pBuf.SetArray(pByte, 0, inBufSize); + + if (pBuf.SetArray(pByte, 0, inBufSize) != E_SUCCESS) { + LogDebug("Couldnot set pBuf"); + return NULL; + } + pBuf.Flip(); - ByteBuffer *getBuffer = pInstance->_TrustZoneService::DecryptN(*appInfo, pBuf); - return getBuffer; + return pInstance->_TrustZoneService::DecryptN(*appInfo, pBuf); } } @@ -1051,7 +1055,10 @@ std::string Bundle::DecryptResource(std::string resource, int size) const byte *b_pkgid = reinterpret_cast(pkgid.c_str()); ByteBuffer appInfo; appInfo.Construct(pkgid.length()); - appInfo.SetArray(b_pkgid, 0, pkgid.length()); + if (appInfo.SetArray(b_pkgid, 0, pkgid.length()) != E_SUCCESS) { + LogDebug("Couldnot set appInfo"); + return std::string(); + } appInfo.Flip(); int writeCount = 0; diff --git a/src/view/webkit/view_logic.cpp b/src/view/webkit/view_logic.cpp index e0d8037..96d7569 100644 --- a/src/view/webkit/view_logic.cpp +++ b/src/view/webkit/view_logic.cpp @@ -324,8 +324,8 @@ void ViewLogic::suspendWidget() if (!m_currentEwkView) { LogWarning("Cannot suspend widget without view"); } else { + setEwkViewInvisible(m_currentEwkView); if (!m_isBackgroundSupport) { - setEwkViewInvisible(m_currentEwkView); suspendWebkit(m_currentEwkView); } } @@ -344,8 +344,8 @@ void ViewLogic::resumeWidget() Assert(m_model); if (m_currentEwkView) { + setEwkViewVisible(m_currentEwkView); if (!m_isBackgroundSupport) { - setEwkViewVisible(m_currentEwkView); resumeWebkit(m_currentEwkView); } } diff --git a/src/wrt-client/wrt-client.cpp b/src/wrt-client/wrt-client.cpp index dac620f..3519779 100644 --- a/src/wrt-client/wrt-client.cpp +++ b/src/wrt-client/wrt-client.cpp @@ -482,7 +482,7 @@ void WrtClient::launchStep() m_widget = WRT::CoreModuleSingleton::Instance() .getRunnableWidgetObject(m_tizenId, m_serviceIndex); #else -m_widget = WRT::CoreModuleSingleton::Instance() + m_widget = WRT::CoreModuleSingleton::Instance() .getRunnableWidgetObject(m_tizenId); #endif ADD_PROFILING_POINT("getRunnableWidgetObject", "stop"); diff --git a/src/wrt-launcher/wrt-launcher.cpp b/src/wrt-launcher/wrt-launcher.cpp index 16f8d00..3e5dadf 100644 --- a/src/wrt-launcher/wrt-launcher.cpp +++ b/src/wrt-launcher/wrt-launcher.cpp @@ -183,18 +183,18 @@ static void print_help(FILE *stream, int /*exit_code*/) fprintf(stream, "Usage : %s [ ... ]\n", program); fprintf( stream, - " -h --help Display this usage information.\n" - " -l --list Display installed widgets list\n" - " -s [GUID]or[PkgName] --start Launch widget with package name or GUID\n" - " -k [GUID]or[PkgName] --kill Kill widget with package name or GUID\n" - " -r [GUID]or[PkgName] --is-running Check whether widget is running by package name or GUID,\n" - " If widget is running, 0(zero) will be returned.\n" - " -d --debug Activate debug mode\n" - " -t [second] --timeout Set timeout of response from widget in debug mode\n" - " -v [1]or[0] --developer-mode Set developermode\n" - " -c [1]or[0] --compliance-mode Set compliancemode\n" - " -i [imei] --fake-imei Set fakeimei\n" - " -m [meid] --fake-meid Set fakemeid\n" + " -h --help Display this usage information.\n" + " -l --list Display installed widgets list\n" + " -s [tizen application ID] --start Launch widget with tizen application ID\n" + " -k [tizen application ID] --kill Kill widget with tizen application ID\n" + " -r [tizen application ID] --is-running Check whether widget is running by tizen application ID,\n" + " If widget is running, 0(zero) will be returned.\n" + " -d --debug Activate debug mode\n" + " -t [second] --timeout Set timeout of response from widget in debug mode\n" + " -v [1]or[0] --developer-mode Set developermode\n" + " -c [1]or[0] --compliance-mode Set compliancemode\n" + " -i [imei] --fake-imei Set fakeimei\n" + " -m [meid] --fake-meid Set fakemeid\n" " if you emit this option, 5 seconds is set in debug mode\n" ); } @@ -207,7 +207,7 @@ int main(int argc, char* argv[]) { int next_opt, opt_idx = 0; int timeout = TIMEOUT_DEFAULT; - char pkgname[256] = ""; + char applicationId[256] = ""; char temp_arg[256] = ""; char pid[6] = ""; char op = '\0'; @@ -390,26 +390,16 @@ int main(int argc, char* argv[]) WidgetDAOReadOnlyList widgetList = WrtDB::WidgetDAOReadOnly::getWidgetList(); FOREACH(dao, widgetList) { - WrtDB::WidgetGUID d_guid = (*dao)->getGUID(); - WrtDB::WidgetPkgName d_pkgname = (*dao)->getPkgName(); - if (!d_guid.IsNull() && - !strcmp(DPL::ToUTF8String(*d_guid).c_str(), temp_arg)) - { - WrtDB::WidgetPkgName package_name = (*dao)->getPkgName(); - temp = DPL::ToUTF8String(package_name); - break; - } - if (!strcmp(DPL::ToUTF8String(d_pkgname).c_str(), + WrtDB::TizenAppId tizenAppId = (*dao)->getTzAppId(); + if (!strcmp(DPL::ToUTF8String(tizenAppId).c_str(), normal_arg.c_str())) { - WrtDB::WidgetPkgName package_name = (*dao)->getPkgName(); - temp = DPL::ToUTF8String(package_name); + temp = DPL::ToUTF8String(tizenAppId); break; } } - if (!temp.empty()) { - strncpy(pkgname, temp.c_str(), strlen(temp.c_str())); + strncpy(applicationId, temp.c_str(), strlen(temp.c_str())); } else { printf("result: %s\n", "failed"); return -1; @@ -439,7 +429,7 @@ int main(int argc, char* argv[]) } } - if (strlen(pkgname) > 0) { + if (strlen(applicationId) > 0) { // do setuid to '5000' uid to communicate //with webapp using RT signal. gid_t group_list[1]; @@ -456,7 +446,7 @@ int main(int argc, char* argv[]) } // set package - ret = service_set_package(serviceHandle, pkgname); + ret = service_set_package(serviceHandle, applicationId); if (SERVICE_ERROR_NONE != ret) { printf("result: %s\n", "failed"); service_destroy(serviceHandle); @@ -490,7 +480,7 @@ int main(int argc, char* argv[]) bool isRunning = false; //checks whether the application is running - ret = app_manager_is_running(pkgname, &isRunning); + ret = app_manager_is_running(applicationId, &isRunning); if (APP_MANAGER_ERROR_NONE != ret) { printf("result: %s\n", "failed"); return -1; @@ -500,7 +490,7 @@ int main(int argc, char* argv[]) // get app_context for running application // app_context must be released with app_context_destroy app_context_h appCtx = NULL; - ret = app_manager_get_app_context(pkgname, &appCtx); + ret = app_manager_get_app_context(applicationId, &appCtx); if (APP_MANAGER_ERROR_NONE != ret) { printf("result: %s\n", "failed"); return -1; @@ -523,8 +513,7 @@ int main(int argc, char* argv[]) } } else if (op == 'r') { bool isRunning = false; - - ret = app_manager_is_running(pkgname, &isRunning); + ret = app_manager_is_running(applicationId, &isRunning); if (APP_MANAGER_ERROR_NONE != ret) { printf("result: %s\n", "failed"); diff --git a/src/wrt-launchpad-daemon/include/launchpad_util.h b/src/wrt-launchpad-daemon/include/launchpad_util.h index 62eea74..ee3dd1f 100644 --- a/src/wrt-launchpad-daemon/include/launchpad_util.h +++ b/src/wrt-launchpad-daemon/include/launchpad_util.h @@ -196,7 +196,7 @@ _static_ void __modify_bundle(bundle * kb, int caller_pid, app_info_from_db * menu_info, int cmd) { // warning: unused parameter - caller_pid = caller_pid; + (void) caller_pid; bundle_del(kb, AUL_K_PKG_NAME); bundle_del(kb, AUL_K_EXEC); @@ -371,7 +371,7 @@ _static_ void __wrt_launchpad_main_loop(app_pkt_t* pkt, char* out_app_path, int* exit(-1); } - __modify_bundle(kb, cr.pid, menu_info, pkt->cmd); + __modify_bundle(kb, /*cr.pid - unused parameter*/ 0, menu_info, pkt->cmd); pkg_name = _get_pkgname(menu_info); _D("pkg name : %s", pkg_name); @@ -406,9 +406,6 @@ _static_ void __wrt_launchpad_main_loop(app_pkt_t* pkt, char* out_app_path, int* bundle_free(kb); } #endif - - free(menu_info); - free(kb); } #endif // __LAUNCHPAD_UTIL_H_ diff --git a/src/wrt-launchpad-daemon/launchpad_src/launchpad.c b/src/wrt-launchpad-daemon/launchpad_src/launchpad.c index ba9fbf2..5fa0986 100644 --- a/src/wrt-launchpad-daemon/launchpad_src/launchpad.c +++ b/src/wrt-launchpad-daemon/launchpad_src/launchpad.c @@ -813,7 +813,11 @@ int main(int argc, char **argv) if ((pfds[DUMMY_PROCESS].revents & (POLLHUP|POLLNVAL)) != 0) { _D("pfds[DUMMY_PROCESS].revents & (POLLHUP|POLLNVAL) (pid:%d)", dummy_process_pid); - close(pfds[DUMMY_PROCESS].fd); + + if (pfds[DUMMY_PROCESS].fd > -1) + { + close(pfds[DUMMY_PROCESS].fd); + } dummy_process_pid = DUMMY_NONE; dummy_process_fd = -1; diff --git a/src/wrt-launchpad-daemon/src/process_pool.c b/src/wrt-launchpad-daemon/src/process_pool.c index 383adaf..327bbe4 100644 --- a/src/wrt-launchpad-daemon/src/process_pool.c +++ b/src/wrt-launchpad-daemon/src/process_pool.c @@ -215,7 +215,7 @@ void __refuse_dummy_process(int server_fd) { _E("accept error!"); - return; + goto err__refuse_dummy_process;; } close(client_fd); diff --git a/tests/widgets/common/src/RunnableObjectStateTester.cpp b/tests/widgets/common/src/RunnableObjectStateTester.cpp index 56b04a0..6f39595 100644 --- a/tests/widgets/common/src/RunnableObjectStateTester.cpp +++ b/tests/widgets/common/src/RunnableObjectStateTester.cpp @@ -146,8 +146,11 @@ void RunnableObjectStateTester::loadFinishCallback(Evas_Object* /*evas*/) void RunnableObjectStateTester::runTest(RunnableObjectStateTester::Test func) { +#ifdef MULTIPROCESS_SERVICE_SUPPORT m_widget = WRT::CoreModuleSingleton::Instance().getRunnableWidgetObject(m_handle, DPL::Optional()); - +#else + m_widget = WRT::CoreModuleSingleton::Instance().getRunnableWidgetObject(m_handle); +#endif //as we know we uses specific implementation WRT::RunnableWidgetObject * m_widget_impl = dynamic_cast(m_widget.get()); Assert(m_widget_impl);