From: SangYong Park Date: Fri, 28 Jun 2024 07:42:25 +0000 (+0900) Subject: Fix ui service launching issue X-Git-Tag: submit/tizen/20240704.160117^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F14%2F313614%2F1;p=platform%2Fframework%2Fweb%2Fwrtjs.git Fix ui service launching issue Prevent code execution for global service during launching ui service Change-Id: I8e1dac51f6ce23d9466108601fae77a814bb3872 Signed-off-by: SangYong Park --- diff --git a/wrt_app/service/service_manager.ts b/wrt_app/service/service_manager.ts index 4d8b55ba..a4d33fe4 100644 --- a/wrt_app/service/service_manager.ts +++ b/wrt_app/service/service_manager.ts @@ -124,13 +124,13 @@ let initializeExtensionOnMain = (id: string) => { // It must be handled ahead of dropThreadPrivilege() // Otherwise, smack violation might hanppen from 'libdbuspolicy'. global.tizen.systeminfo.getPropertyValue('CPU', () => { }, () => { }); - if (global['serviceType'] !== 'STANDALONE') { - global.tizen.alarm.getAll(); - } else { + if (global['serviceType'] === 'STANDALONE') { let ids = id.split(':'); let serviceId = ids[0]; let packageId = serviceId.split('.')[0]; wrt.security?.dropThreadPrivilege(packageId, serviceId); + } else if (global['serviceType'] === 'GLOBAL') { + global.tizen.alarm.getAll(); } } @@ -141,7 +141,7 @@ export function startService(id: string, filename: string) { } console.debug(`startService - ${id}`); initializeExtensionOnMain(id); - let startService = `${__dirname}/service_runner.js`; + let startService = `${__dirname}/../service/service_runner.js`; if (!hasPendingService()) { createWorker(id, startService, filename) } else { diff --git a/wrt_app/service/service_runner.ts b/wrt_app/service/service_runner.ts index 654b56ac..61872976 100644 --- a/wrt_app/service/service_runner.ts +++ b/wrt_app/service/service_runner.ts @@ -69,18 +69,23 @@ let checkLauncherAlive = (id: string) => { } export function start(id: string, filename: string) { - let ids = id.split(':'); - let serviceId = ids[0]; - let packageId = wrt.getPackageId(id); - if (!packageId) { - console.debug(`${id}'s pkgid is empty, so stop service`); - requestStopService(id); - return; + if (isServiceApplication()) { + let ids = id.split(':'); + let serviceId = ids[0]; + let packageId = wrt.getPackageId(id); + if (!packageId) { + console.debug(`${id}'s pkgid is empty, so stop service`); + requestStopService(id); + return; + } + + global.ssoGuid = wrt.tv?.getSSOGuid(); + wrt.security?.dropThreadPrivilege(packageId, serviceId); + + deviceApiRouter = new DeviceAPIRouter(id, isGlobalService()); } - global.ssoGuid = wrt.tv?.getSSOGuid(); wrt.setServiceAppId(id); - wrt.security?.dropThreadPrivilege(packageId, serviceId); XWalkExtension.initialize(); XWalkExtension.setRuntimeMessageHandler((type, data) => { @@ -91,7 +96,6 @@ export function start(id: string, filename: string) { }); console.debug(`serviceType : ${global['serviceType']}`) - deviceApiRouter = new DeviceAPIRouter(id, isGlobalService()); printAppControlData(id); ServiceMessage.initConsoleMessageNotification(id);