DongHyun Song [Wed, 21 Oct 2020 06:21:48 +0000 (15:21 +0900)]
[TV] Remove unnecessary code
clearDeadMount() was removed from
https://review.tizen.org/gerrit/245799/
Change-Id: I56d6198754962d24131b318ddb986e96f355ceac
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
DongHyun Song [Tue, 13 Oct 2020 10:03:27 +0000 (19:03 +0900)]
[Service][Reland] Apply node worker for standalone model
This patch includes below,
1) unify source code with global model.
2) isolate v8 variable scope from main thread.
- standalone service application cannot get main global variable.
of service_manaer / service_runner
3) refactor handling message with node worker.
4) refactor termination sequence of node worker more gracefully.
- process.exit() is invoked by worker side
- parent handles on('exit') for clean-up
Additionally, there is no noticeable memory increase with node worker.
References:
https://review.tizen.org/gerrit/244938/
https://review.tizen.org/gerrit/245591/
Change-Id: Ie9c17b373a69585ca755e39c4ab56243406821a2
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Bot Blink [Tue, 13 Oct 2020 08:44:20 +0000 (08:44 +0000)]
Merge "Revert "[Service] Apply node worker for standalone model"" into tizen
DongHyun Song [Tue, 13 Oct 2020 08:14:52 +0000 (08:14 +0000)]
Revert "[Service] Apply node worker for standalone model"
This reverts commit
2b011acf4a65ec8b940605ddeb53cc3709f2009d.
Change-Id: I4203e460734b8befd84a2286663ae6c41a7b3232
DongHyun Song [Tue, 13 Oct 2020 08:14:25 +0000 (08:14 +0000)]
Revert "[Service] Refactor stop service sequence"
This reverts commit
dd79b18738cdb66f003a5195e78b5ff03248e27e.
Change-Id: If6ff1a847e9aeed86faf9fd9fc014971c339096f
DongHyun Song [Tue, 13 Oct 2020 01:20:10 +0000 (10:20 +0900)]
[Service] Refactor stop service sequence
When service application needs to terminate by tizen://exit, it
should call wrt.stopService(id).
However, it is called in worker thread with standalone model,
WRTServiceManager::Remove() will be handled in worker thread, not
main thread. then, uv loop sometimes makes abort() or get SIGSEGV.
Then, wrt.stopService(id) should be called in main thread side.
Change-Id: I103bf8f38111db984bb22d0af56c05456851b681
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Youngsoo Choi [Thu, 8 Oct 2020 04:43:49 +0000 (21:43 -0700)]
[Service] Make application.getCurrentApplication work
The appInfo.id of application.getCurrentApplication()
should be its own service id, not 'org.tizen.chromium-efl.wrt-service'.
The object returned from application.getCurrentApplication()
is non re-writable. So, new object is needed to modify the id.
Btw, broadcast APIs need to have daemon id because they are working
on app id of current process.
Change-Id: I71a62f9dc0bccd68fa7e2b9269a2543e651ec64a
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Youngsoo Choi [Wed, 7 Oct 2020 08:08:49 +0000 (01:08 -0700)]
fixup! [Service] Make application.getAppContext work
This changes arguments with array.
Change-Id: I4f729b560b581a94c6f2ce1a914baf0bece55038
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Youngsoo Choi [Tue, 6 Oct 2020 09:32:50 +0000 (02:32 -0700)]
[Service] Make application.getAppContext work
This makes service app have its own service app id from
application.getAppContext(), not 'org.tizen.chromium-efl.wrt-service'.
Change-Id: I7378802cc61ea42e2b79559e0d83526d7da665dd
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Bot Blink [Mon, 5 Oct 2020 11:28:21 +0000 (11:28 +0000)]
Merge "[Service] Apply node worker for standalone model" into tizen
Youngsoo Choi [Mon, 5 Oct 2020 10:41:42 +0000 (03:41 -0700)]
[Service] Let UI service use web app privileges
The UI service has used web app privileges
because it resides in Web Runtime browser thread.
This resolves following error:
>> TypeError: wrt_1.wrt.getPrivileges is not a function
Change-Id: I3258513a88b4ae34604ee41b57ac56828656b3ae
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
DongHyun Song [Mon, 28 Sep 2020 06:32:06 +0000 (15:32 +0900)]
[Service] Apply node worker for standalone model
This change is implemented for
1) unify source code with global model
2) isolate v8 variable scope from main thread
- standalone service application cannot get main global variable
of service_manaer / service_runner
There is no noticeable memory increase with node worker.
Change-Id: I7bb4576026ce326a3903987c537810093db028b4
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Bot Blink [Mon, 5 Oct 2020 01:46:30 +0000 (01:46 +0000)]
Merge "[Service] Update app_id based on input received." into tizen
k2.nagaraju [Thu, 1 Oct 2020 17:22:13 +0000 (22:52 +0530)]
[Service] Update app_id based on input received.
If passed parameter is |false| or |undefined| then also
|app_id| is updated as current app id. which is causing
failure in application webtct failure.
Change-Id: Id4ba0c2ea5068620c422585311cfc65ed81ad6c8
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
k2.nagaraju [Wed, 30 Sep 2020 11:40:30 +0000 (17:10 +0530)]
[service] Add notification xwalk extension support for service app.
For alarm service webtct notification xwalk extension support is needed.
updated the entry points for notification extension.
Change-Id: If4857b74a5929e03c6738858e8a3a9098af90c22
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
liwei [Tue, 29 Sep 2020 05:44:54 +0000 (13:44 +0800)]
[Service] Add service type in node worker
Add service type in node worker, otherwise value of
"global.serviceType" is 'undefined', service app in
global service cannot work well.
Change-Id: I39fadd30c14b89f20b1bf817fe4d9db46f65eb44
Signed-off-by: liwei <wei90727.li@samsung.com>
DongHyun Song [Thu, 10 Sep 2020 00:36:51 +0000 (09:36 +0900)]
[Service][TV] Add TV productinfo webapis
Add webapis.productinfo of TV profile.
Related chromium-efl patch:
https://review.tizen.org/gerrit/238981/
Change-Id: I1c865e7d0b2f2708f09e4de504a52836585c7090
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Bot Blink [Fri, 25 Sep 2020 04:27:27 +0000 (04:27 +0000)]
Merge "[D2D] Change path for app routing." into tizen
Aron kim [Fri, 25 Sep 2020 02:19:38 +0000 (19:19 -0700)]
[D2D] Change path for app routing.
The installation path of the built-in deviceWebServer is changed.
Reroute according to the changed path.
Change-Id: I54b9004811a14e22aba5263921510b1798e43412
Signed-off-by: Aron kim <aron.kim@samsung.com>
Youngsoo Choi [Thu, 24 Sep 2020 11:48:29 +0000 (04:48 -0700)]
[Service] Fix not returning handler id of systeminfo
The systeminfo device API should return handler id
to control listener later.
Change-Id: Idc12f8164be0a500a29b1a272899148e3c17aff7
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
DongHyun Song [Wed, 9 Sep 2020 09:31:38 +0000 (18:31 +0900)]
[Service] APIRouter - xwalk.util.checkPrivilegeAccess
xwalk.util.checkPrivilegeAccess() is an internal API of webapis
for checking the app has proper privilege.
If the app hasn't required privilege, it will throw exception.
For example, When 'tizen.filesystem.listStorages' is handled
xwalk.utils.checkPrivilegeAccess(
xwalk.utils.privilege.FILESYSTEM_READ);
it checks if the app has 'filesystem.read' privilege, then,
this overrided checkPrivilegeAccess() can inspect its privileges
defined in config.xml. (not wrt-service's privileges)
This is different from AccessControlManager's webapis drops.
In webapis, there are two ways of privilege checking.
1) by xwalk.util.checkPrivilegeAccess()
2) by cynara inspection directly
AccessControlManager purpose should be considered way #2.
webapis's cynara DB checking, it always inspects on wrt-service's.
Then, AccessControlManager should be able to disable webapis which
the app doesn't have required privileges.
Change-Id: I84ce85a580a483c209d354ca2f1b7c3d17c08fb3
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Bot Blink [Thu, 24 Sep 2020 04:26:51 +0000 (04:26 +0000)]
Merge "[Service][TV] Refactor for wasm-caching shutdown" into tizen
Bot Blink [Thu, 24 Sep 2020 04:19:06 +0000 (04:19 +0000)]
Merge "[Service] Refactor builtin-service with node worker" into tizen
DongHyun Song [Mon, 21 Sep 2020 08:13:22 +0000 (17:13 +0900)]
[Service][TV] Refactor for wasm-caching shutdown
1) Calls delayShutdown() every wasm cache creation.
- If built-in service is implemented with async functions, after
run() is done and there is no running services, node main will
be terminated by itself 1 minute later.
delayShutdown() can reset the timeout to 1 min.
2) After finish wasm-caching, notify parent to terminate node worker
- When wasm-caching is finished, node worker is able to terminate
by stop messaging
Change-Id: I23b3587d3f3746a451b517c7cd7a70c5f9593302
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
DongHyun Song [Mon, 14 Sep 2020 10:02:37 +0000 (19:02 +0900)]
[Service] Refactor builtin-service with node worker
This applies builtin-service to execute on node worker same as
service application with refactoring worker creation/termination.
Change-Id: I105a4e3f91409deb9805ac2ca08e4e62a162c2fa
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Aron kim [Wed, 23 Sep 2020 06:02:17 +0000 (23:02 -0700)]
[D2D] Add privilege for DeviceWebServer.
http://tizen.org/privilege/filesystem.read
http://tizen.org/privilege/filesystem.write
http://tizen.org/privilege/mediastorage
Change-Id: I393428a9a6d44ecd6311e425a4d3fe6f76bec29f
Signed-off-by: Aron kim <aron.kim@samsung.com>
k2.nagaraju [Mon, 21 Sep 2020 18:32:04 +0000 (00:02 +0530)]
[service] filesystem web deviceapi call getting hanged.
filesystem deviceapi calls are overloaded, some functions
expecting return value. But it is not returning, which is causing
failure of test cases.
Change-Id: I77d08193fcc9aa7505f53836a36b78cb82697b30
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
Bot Blink [Mon, 21 Sep 2020 04:54:55 +0000 (04:54 +0000)]
Merge "[Service] update package_id based on input received" into tizen
k2.nagaraju [Wed, 16 Sep 2020 17:46:01 +0000 (23:16 +0530)]
[Service] update package_id based on input received
If passed parameter is |false| or |undefined| then also
|package_id| is updated as current package. which is causing
failure in package service webtct failure.
Change-Id: I6823ed175c3e65224e699d3084b28cd27eb3fab9
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
DongHyun Song [Thu, 17 Sep 2020 07:52:51 +0000 (16:52 +0900)]
[Service] Remove global.gc()
LowMemoryNotification() with repeat timer will replace global.gc()
in JavascriptEnvironment side.
Related chromium-efl patch:
https://review.tizen.org/gerrit/244329
Change-Id: I18864ed3de3b3c7ac367f4d247e3e1b81a9c9564
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Bot Blink [Wed, 16 Sep 2020 02:33:48 +0000 (02:33 +0000)]
Merge "[Service]Add more xwalk extensions for service app" into tizen
Chunling Ye [Tue, 4 Aug 2020 07:41:28 +0000 (15:41 +0800)]
[Service]Add more xwalk extensions for service app
1.add xwalk extensions: exif/content/download/account/iotcon
2.fix window not defined error for exif extension
Change-Id: I5c53c8d4bbc0fc0267e05c14b50731f628024732
Signed-off-by: Chunling Ye <chunling.ye@samsung.com>
Youngsoo Choi [Fri, 11 Sep 2020 01:38:21 +0000 (18:38 -0700)]
[Service] Call global.gc() when terminating a service
This calls global.gc() when a service app is terminated.
Approximately, 1 MB memory is saved by this.
Also, the main thread is immediately terminated
when there's no running worker thread for service app.
Together with:
https://review.tizen.org/gerrit/243858
Change-Id: Iab70e9aadedb19295a3784fb5cc3dc1300412995
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Aron kim [Thu, 10 Sep 2020 05:16:15 +0000 (22:16 -0700)]
[D2D] Modify to not launch d2d app repeatedly.
When the remote client launching the d2d app in device home,
change to connect only the websocket if the d2d app status
is visible.
Change-Id: Iab323ee86cc3a979521daf6c3a6b7485904233a6
Signed-off-by: Aron kim <aron.kim@samsung.com>
DongHyun Song [Wed, 2 Sep 2020 08:16:19 +0000 (17:16 +0900)]
[Service] Fix memory leak with worker isolation
1) apply worker.terminate(), instead of process.exit()
2) unload extensions to release extensions
Related chromium-efl patch:
https://review.tizen.org/gerrit/243536
Change-Id: I575fa68d72280d542e36add0d5d7f4f27adb98bc
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
DongHyun Song [Wed, 2 Sep 2020 08:16:19 +0000 (17:16 +0900)]
[Service] Introduce worker isolation
node-vm, previous way to isolate service applications, has a big
problem of global scope sharing with Tizen webapis. Becuase tizen
webapi objects are registered on global scope, with DeviceAPIRouter
overrieded APIs are shared by each service application calling.
In addition, require() is also running on global scope, even though
apps are calling require() in their sandbox context, imported
modules are running global scope.
Thus, isolation of global scope is most important for global wrt-
service. Node worker is very proper way to isolate each service
application. With node worker, v8::Isolatee and v8::IsolateData
are created separately. Then, each service app is able to have
each independent global object.
Reference patch:
https://review.tizen.org/230796/
Change-Id: Ic4008ed7a8331327eeb84facba55418e971e2271
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Youngsoo Choi [Mon, 7 Sep 2020 11:53:21 +0000 (04:53 -0700)]
fixup! [D2D] Support wgt-in-rpm for d2d server
This moves libtzplatform-config for all profiles.
Change-Id: I82c17747678ae0dc2afa662c6ea5834f4fd597d8
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Youngsoo Choi [Mon, 7 Sep 2020 02:20:12 +0000 (19:20 -0700)]
[D2D] Set on-boot to false
This sets on-boot to false.
The d2d server will be optionally launched later.
Change-Id: Iab66894fd1e59ad21b1f81a6a9bb616319052ec5
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Youngsoo Choi [Fri, 4 Sep 2020 13:03:42 +0000 (06:03 -0700)]
fixup! [D2D] Support wgt-in-rpm for d2d server
The d2d server installation wasn't worked since it was installed in
read-write area. The OBS only makes platform image from read-only area.
So, this tries to locate the d2d server sources in read-only area.
Change-Id: Ie4d4e79c90ea5f8d55860b8669213933a7a58f54
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
jaekuk, lee [Thu, 3 Sep 2020 22:46:33 +0000 (07:46 +0900)]
Change base repo for DA
Change-Id: I37d020e924bf59c974bb68c73c89cb41b6efe3f3
Signed-off-by: jaekuk, lee <juku1999@samsung.com>
Youngsoo Choi [Wed, 2 Sep 2020 12:04:32 +0000 (05:04 -0700)]
[D2D] Support wgt-in-rpm for d2d server
This supports signing, packaging and installing for d2d server.
After installing the d2d server, the wgt file is deleted to save ROM size.
Currently, d2d sever is enabled by default for public profile
since it is public feature.
If you want to use d2d server feature for the other profiles,
please use d2d option like below:
$ ./tizen/build/build_tv.sh --d2d
Change-Id: Ief216021799723782a5777aba9c19b940f6c2cb8
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Aron kim [Thu, 3 Sep 2020 04:04:57 +0000 (21:04 -0700)]
[D2D] Introduce GlobalDeviceWebServer for d2dservice.
Entry point for using d2dservice supported apps.
When connecting to the server, a list of executable apps
is displayed and can be launching.
Change-Id: Iabd4ce5ab29e2e6b7033ad2878f23311442e3dc7
Signed-off-by: Aron kim <aron.kim@samsung.com>
Youngsoo Choi [Fri, 28 Aug 2020 07:04:06 +0000 (00:04 -0700)]
fixup! [UWE] Notify internal API compatibility when installing rpm
This ignores chromium-efl-squashfs for checking chromium-efl revision.
Change-Id: Ifdd2611495b869b2c8273e43c13dbf4085e35861
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
ws29.jung [Fri, 21 Aug 2020 03:38:38 +0000 (12:38 +0900)]
[Addon] Fix various issues with addon
There was few issues with running addon over Webapps.
- Browser side addonapi.windows did not export properly
- Missing null check with addonInstance.activate
- Return addaonAvailable true even addon is not active
Change-Id: Ibfc58c0213498ea4538eda31ab16725c5c529e2e
Signed-off-by: ws29.jung <ws29.jung@samsung.com>
Bot Blink [Tue, 25 Aug 2020 10:34:48 +0000 (10:34 +0000)]
Merge "[Addon] Fix argument passing to EventEmitter" into tizen
Bot Blink [Tue, 25 Aug 2020 10:33:06 +0000 (10:33 +0000)]
Merge "[Addon] Check process type properly when loading addonapi" into tizen
Bot Blink [Tue, 25 Aug 2020 10:31:00 +0000 (10:31 +0000)]
Merge "[UWE] Notify internal API compatibility when installing rpm" into tizen
k2.nagaraju [Thu, 20 Aug 2020 10:56:48 +0000 (16:26 +0530)]
[Service] TypeMismatchError causing because of passing undefined as parameter.
systeminfo tizen web api as optional parameters, for optional parameters passing
|undefined| causing this error. Added code for handling these scenarios.
https://www.tizen.org/tv/web_device_api/systeminfo
Change-Id: I2c156c2b2ab06e71cc00db45891e48d0b6beec9a
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
hyunduk.kim [Thu, 20 Aug 2020 02:36:17 +0000 (11:36 +0900)]
[Addon] Check process type properly when loading addonapi
In checking the condition to handle the path for addonapi
when require('addonapi') is called, it needs to check the
process type to know which process calls the module.
However, there's improper condition for process type.
That makes it unable to use addonapi regardless of process type.
This changes the condition so it can use addonapi
when the process type is valid.
Change-Id: I8c58c5f8d98041c2e21ce970b7a5a1ab927f8cf6
Signed-off-by: hyunduk.kim <hyunduk.kim@samsung.com>
Youngsoo Choi [Thu, 30 Jul 2020 02:35:16 +0000 (19:35 -0700)]
[Service] Expose app id related APIs to public and add getCallerAppId
This exposes getServiceId and getPackageId APIs to puglic profile.
Also, this newly adds getCallerAppId for the use of service apps.
For instance, it can be used when a service app wants to make
a messageport connection with a caller web app.
If there's no caller app, it returns ''.
Change-Id: Icfe221cb23acfb3587b38bd75fdce28ea5d2a23e
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Youngsoo Choi [Wed, 15 Jul 2020 08:22:52 +0000 (01:22 -0700)]
[UWE] Notify internal API compatibility when installing rpm
Previously, the second and third versions haven't been used.
So, this removes the unused versions except for the wrtjs version
and newly adds {TPK_VERSION} and {INTERNAL_API_REVISION} like below:
{TPK_VERSION}.{INTERNAL_API_REVISION}.{WRTJS_VERSION}
The {TPK_VERSION} needs for deploying tpk file via app server.
The {INTERNAL_API_REVISION} needs to check API compatibility
between chromium-efl and wrtjs.
In addition, this notifies internal API version compatibility result
using the {INTERNAL_API_REVISION} when installing rpm file.
The internal API compatibility can be guaranteed only if the
{INTERNAL_API_REVISION} is same with chromium-efl.
'\033[32m' means green, '\033[31m' means red color, and '\033[m' means
end of the colors in the %pre script.
Change-Id: Ib00f4bf3523e9e022c388b838e8d96cc7089d599
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
ws29.jung [Wed, 12 Aug 2020 06:14:55 +0000 (15:14 +0900)]
[Addon] Fix argument passing to EventEmitter
When function argument list '...args' is handled as 'args,
it is no longer can be used as multiple argument list
but a single object.
To keep and pass same argument list through Emitter functions,
inappropariate use of 'args' is now changed to '...args'.
Change-Id: Ia978fbfd9aa337d027442813c04808e903b5bd12
Signed-off-by: ws29.jung <ws29.jung@samsung.com>
liwei [Thu, 6 Aug 2020 04:22:17 +0000 (12:22 +0800)]
[VD] Change url path for tv_5.5_nikem
When build wrtjs in tv_5.5_nikem, gbs.conf should use below url:
"http://168.219.244.109/products/tv/official/2020/ONEMAIN/NikeM/latest/",
otherwise build error will happen.
Build command:
./tizen/build/build_tv.sh -P tztv_5.5_arm-nikem -R {GBS-ROOT of chromium-efl}/local/repos/ -C
Change-Id: Iaae742de46134ba8e0be66ce9ace4e1b65faf17d
Signed-off-by: liwei <wei90727.li@samsung.com>
jaekuk lee [Thu, 6 Aug 2020 01:08:07 +0000 (01:08 +0000)]
Merge "[Service] Check privilege of systeminfo device api" into tizen
Chunling Ye [Tue, 21 Jul 2020 05:10:22 +0000 (13:10 +0800)]
[Service] Check privilege of systeminfo device api
1. change apply to call function for undefined 1 error
2. add privilege check for others api: getPropertyValueArray/
addPropertyValueChangeListener/addPropertyValueArrayChangeListener.
Change-Id: Ic136c5a9307cfac218f219060b7fdf55a237c568
Signed-off-by: Chunling Ye <chunling.ye@samsung.com>
Youngsoo Choi [Thu, 23 Jul 2020 10:45:34 +0000 (03:45 -0700)]
fixup! [Service] Routing API - tizen.application
This resovles folloinwg error on public target:
TypeError: Cannot read property 'getServiceId' of undefined
The public profile has the webapis in sandbox, not in global.
Change-Id: I99a2eb4ff373bf8103c0ef9e6392f96e7f6ffb09
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
DongHyun Song [Wed, 22 Jul 2020 07:58:12 +0000 (16:58 +0900)]
[Service][Routing API] Set file mode as 'rw' default
If mode is not given by application, undefined 'mode' value throws
exception in tizen.filesystem.resolve() due to type mismatching.
According to its default file mode, this patch set it 'rw'
in file_system_manager.js
function resolve() {
...
if (!args.has.mode) {
args.mode = 'rw';
Change-Id: I18b44c61c53c1683438a65e88f1ebde50263288a
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
DongHyun Song [Mon, 20 Jul 2020 04:53:54 +0000 (13:53 +0900)]
[Service] Routing API - tizen.filesystem
This patch will support
resolve(DOMString location,
FileSuccessCallback onsuccess,
optional ErrorCallback? onerror,
optional FileMode? mode);
Related chromium-efl patch:
https://review.tizen.org/gerrit/238885
wrt.resolveVirtualRoot() must be released first.
Change-Id: I5d3cbc8d9267032bf8ee421ade0d9930111c7eea
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Youngman Son [Fri, 17 Jul 2020 10:07:23 +0000 (10:07 +0000)]
Merge "[Service][VD] Stop service app if service app has exception" into tizen
DongHyun Song [Wed, 15 Jul 2020 02:34:20 +0000 (11:34 +0900)]
[Service][VD] Stop service app if service app has exception
If onRequest has Javascript exception, it cannot execute reamining
code. It is not highly able to reach tizen.application...exit().
Thus, with onRequest exception, it is proper that the app is closed
automatically.
Change-Id: I8e4d2cdc09013f674fb7ddcf40dfbb18ea6a86e7
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Youngsoo Choi [Wed, 15 Jul 2020 07:42:58 +0000 (07:42 +0000)]
Merge "[Service] Routing API - tizen.package" into tizen
DongHyun Song [Wed, 15 Jul 2020 06:25:53 +0000 (06:25 +0000)]
Merge "[VD] Remove logic of delete expired cache" into tizen
DongHyun Song [Wed, 15 Jul 2020 02:11:19 +0000 (11:11 +0900)]
[Service] Routing API - tizen.package
This patch will support
PackageInformation getPackageInfo(optional PackageId? id);
This API need below privilege
http://tizen.org/privilege/package.info
Change-Id: Ie737b1d11912f6c6e7ece05d5cea1a5d89434b16
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
DongHyun Song [Tue, 7 Jul 2020 05:19:06 +0000 (14:19 +0900)]
[Service] Routing API - tizen.application
This is for overriding layer of tizen.application object to support
global wrt-service.
Base patch:
https://review.tizen.org/gerrit/229772/
Change-Id: I066fb2121f3caaaa0d8226b3d15f627d360df716
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
liwei [Tue, 14 Jul 2020 02:18:47 +0000 (10:18 +0800)]
[VD] Remove logic of delete expired cache
WebAppService handle this logic, so WRT remove related logic.
Related Patch:
https://review.tizen.org/gerrit/238437/
Change-Id: I2cb5345e5d72a55c7d550c66184fdc1d9f1db464
Signed-off-by: liwei <wei90727.li@samsung.com>
Youngman Son [Tue, 14 Jul 2020 02:10:28 +0000 (02:10 +0000)]
Merge "[Service][VD] Fix mount point remain issue" into tizen
DongHyun Song [Mon, 13 Jul 2020 01:30:29 +0000 (10:30 +0900)]
[Service][VD] Fix mount point remain issue
While stopService, program.exit() is called synchronously. It will
terminate wrt-service process directly, then mount point is still
remaining without umount handling.
Change-Id: Ife943100cd6a8cd814fd0fb63693195459b8b607
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Sungsik Han [Fri, 10 Jul 2020 05:19:33 +0000 (05:19 +0000)]
Merge "[UWE] Generate tpk file for upgradable WRTjs" into tizen
DongHyun Song [Mon, 6 Jul 2020 02:23:40 +0000 (11:23 +0900)]
[Service][Builtin] Stop function of wasm-builder
wasm-builder builtin service is starting when an application, which has
'wasm.caching.support' metadata, is installed. But if a user try to
launch the application as soon as its installation done, both wasm cache
buillding of builtin service and UI application are able to overlap by
its wasm compiling time.
Thus, builtin service has to be stopped when UI application is starting.
Related chromium-efl patch:
https://review.tizen.org/gerrit/237014/
Change-Id: Ieff3fcf529cc3f2b72ad5d921d16cee6b278092c
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Youngsoo Choi [Tue, 16 Jun 2020 02:28:15 +0000 (19:28 -0700)]
[UWE] Generate tpk file for upgradable WRTjs
Once updated chromium-efl is selected in launching process,
the corresponding WRTjs should be used to guarantee internal API
compatibility between them.
For that, the WRTjs tpk file needs to be prepared
as per deployed chromium-efl version and target profile like below:
* Public profile
Note that the public profile has only one type of tpk.
+----------------+---------------+-----------------------+
| Preloaded ver. | Deployed ver. | chromium-efl & WRTjs |
+----------------+---------------+-----------------------+
| M76 | M76 or above | Use tpk path |
+----------------+---------------+-----------------------+
* Product TV profile
+----------------+---------------+-----------------------+
| Preloaded ver. | Deployed ver. | chromium-efl & WRTjs |
+----------------+---------------+-----------------------+
| M76 | M76 (patch) | Use tpk path |
+----------------+---------------+-----------------------+
| M76 | Above M76 | Use upgraded tpk path |
+----------------+---------------+-----------------------+
* The WRTjs tpk path and build commands:
{TZ_SYS_RO_APP}/org.tizen.wrtjs
$ ./tizen/build/build_standard_armv7l.sh --use-tpk
$ ./tizen/build/build_tv.sh --use-tpk
* the upgraded WRTjs tpk path and build command, only for tv:
{TZ_SYS_RO_APP}/org.tizen.wrtjs-upgrade
$ ./tizen/build/build_tv.sh --use-tpk-upgrade
* The generated tpk file will be located in below after the build:
/PATH/TO/GBS-ROOT/local/BUILD-ROOTS/scratch.armv7l.0/tmp
Change-Id: I8c57cbf101f2a495ea064d34548dc146c4dfe32a
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Youngsoo Choi [Tue, 7 Jul 2020 04:55:48 +0000 (13:55 +0900)]
[Service] Implement routing layer for web deivce API
This patch introduce an wrapper class to support Tizen/Product
webapis compatibility of global model.
Change-Id: Ibb7171937afd332c00902f819555a0015441159d
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
SangYong Park [Thu, 28 May 2020 23:04:54 +0000 (08:04 +0900)]
Apply typescript
Apply typescript to maintain consistency with js api from chromium-efl.
If you change with wrtjs and chromium-efl together,
please append '-R {GBS-ROOT of chromium-efl}/local/repos/ -C' to build command.
Change-Id: I0231b02d4d3f79e79b0275a130929e7c46bf7d62
Signed-off-by: SangYong Park <sy302.park@samsung.com>
DongHyun Song [Thu, 2 Jul 2020 08:20:33 +0000 (17:20 +0900)]
[Service][VD] Add getPackageId for eden preview plugin
Add getPackageId() for eden preview plugin, which is using package
ID as unique key of preview DB.
getPackageId: return package ID from tizen.application's info
getServiceId: return service ID of internal_id
Change-Id: I587a1815d4783d5dfc692aec6b0a4a9d4401cfd8
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
SangYong Park [Wed, 17 Jun 2020 23:37:50 +0000 (08:37 +0900)]
Add typescript build tools
. node.js v12.13.1
. node_modules
- @types/node@14.0.5
- typescript@3.9.3
Change-Id: Iaeea2f8bfa2da3a0229bb42b6b323e473acc7fef
Signed-off-by: SangYong Park <sy302.park@samsung.com>
DongHyun Song [Tue, 30 Jun 2020 01:24:03 +0000 (10:24 +0900)]
[VD][Service] Add getApplicationId() for extensions
webapis.getApplicationId() will be used to get the current application
ID by eden preview webapis.
Previously ContentServiceManager is getting the sender application ID
from messsage port parameter, but in case of global wrt-service, it is
org.tizen.chromium-efl.wrt-service, not expected application ID.
So that eden preview webapi can get the intended application ID, this
API will be used in eden preview side.
Change-Id: Ibfeddefe384da92b7ecbeb3d72f14bf5c26c1eef
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Juhyun Choi [Tue, 23 Jun 2020 05:54:43 +0000 (14:54 +0900)]
[WRTjs][VD] Change correct base repo for TV profile
Base repo should be
http://168.219.244.109/base/tizen-6.0-base/standard/latest/
- for developers
or
http://168.219.245.245/base/tizen-6.0-base/standard/latest/
- for Cosmos system
Reference:
https://review.tizen.org/gerrit/236618/
Change-Id: I2ebefad7af19996a6545a9c42f3210dd4946b00a
Signed-off-by: Juhyun Choi <honest.choi@samsung.com>
liwei [Thu, 18 Jun 2020 09:44:40 +0000 (17:44 +0800)]
fixup! [VD] Flush cookie / local storage in finalize
In web_applicaton, should use this.flushData(), otherwise
there is error "flushData is not defined"
Change-Id: I8e3d8689cf3a0ebd10e637e5131633f4c2258d6c
Signed-off-by: liwei <wei90727.li@samsung.com>
liwei [Mon, 15 Jun 2020 02:50:28 +0000 (10:50 +0800)]
[VD] Flush cookie / local storage in finalize
When app call tizen.application.exit() directly, WRT will get "before_quit"
firstly, then set webapplciaton to null(_this.webApplication = null;), then
when WRT get "suspend" event, bcz webapplication is null, WRT will not flush
cookie / local storage.
Change-Id: I14304af991f583da2b985f31f8f8a35c207327c3
Signed-off-by: liwei <wei90727.li@samsung.com>
DongHyun Song [Thu, 4 Jun 2020 23:24:58 +0000 (08:24 +0900)]
[VD] Fix RWI popup issue while preloading
In case of preloading, a user cannot close the guide dialog. So
This patch will close the guide dialog automatically with timeout.
Change-Id: I8d26f5d273b4ea4da616d458fa21b439f867e450
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
DongHyun Song [Tue, 9 Jun 2020 05:32:05 +0000 (05:32 +0000)]
Merge "[Service] Set V8 flags for wasm builder" into tizen
Youngsoo Choi [Mon, 8 Jun 2020 10:22:33 +0000 (03:22 -0700)]
[Product TV] Update gbs.conf with the official repos
The product gbs repo has been changed with the official repos.
The gbs root folders having regular pattern are using version macros
and the others are using specific tizen version numbers.
Change-Id: I4343c9ecd3598da52ea95e4117ee67bbfed904f0
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
DongHyun Song [Wed, 3 Jun 2020 04:24:51 +0000 (13:24 +0900)]
[Service] Set V8 flags for wasm builder
wrt.tv.setWasmFlags() set V8 flags same as UI application's renderer.
Related chromium-efl patch:
https://review.tizen.org/gerrit/235246/
Change-Id: Ic4c9f9ec752f2b1569b9e78d1f451b859390a5bc
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Youngsoo Choi [Thu, 28 May 2020 06:31:59 +0000 (23:31 -0700)]
Update gbs.conf with the latest
This updates gbs.conf for product TV and DA.
Change-Id: I80b9f1339eccb372200f0623346ade5427f62d99
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
DongHyun Song [Mon, 25 May 2020 05:57:31 +0000 (14:57 +0900)]
Implements wasm_builder built-in service
1. wasm_builder finds .wasm files based on given WebApp and call
compileWasmForCaching.
2. compileWasmForCaching creates a cache file(compressed machine code).
3. If the cache is created succesfully, you may find the cache
file, for example, as below. (Aware that this is one-line!)
/home/owner/.cache/Apps/WebAppsCache/IBcZLx54d2.WasmCoITest
/
034bf102392fb62cb3d8c4bb4118cbed7df7731c.wasm_cache
Change-Id: I73247f28ef405068f6dd45005312b06621f67f2a
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
Signed-off-by: Juhyun Choi <honest.choi@samsung.com>
SangYong Park [Thu, 21 May 2020 08:01:40 +0000 (08:01 +0000)]
Merge "[Service] wasm caching in built-in service" into tizen
DongHyun Song [Tue, 14 Apr 2020 06:22:09 +0000 (15:22 +0900)]
[Service] wasm caching in built-in service
This will be a service application working as build WASM caching on
installation time.
Actual implementation will be developed by WASM part.
** WASM caching **
Regarding the performance of creating wasm cache on first loading
time, this patch will take the time on installation time to service
application side.
Service application is first launched while its installation time
by ContentServiceManager of TV component, then it is able to create
wasm cache ahead of UI application run.
However, if a user try to launch the app as soon as it is installed,
this wasm caching is ineffective or raising performance loss by
racing simultaneous generation of cache files.
This is important design point to consider.
Related chromium-efl patch:
https://review.tizen.org/gerrit/230786/
Change-Id: I9b8c1630ddf22036f4dd98bbe1f962443e589a3f
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
liwei [Wed, 20 May 2020 11:05:33 +0000 (19:05 +0800)]
Move finalize logic to quit procedure
Because in current logic, "before-quit" will not be invoked,
so webApplication.finalize() is not called, it will cause RWI
port is not relased / dialog is not cancled/..., so move to
"quit" procedure.
After "Fix terminate crash issue by appfw" patch, "before-quit"/
'will-quit' will not be invoked(https://review.tizen.org/gerrit/233246/).
Change-Id: I0623b2d1147f1b1c31e809f67f270ae2974662cc
Signed-off-by: liwei <wei90727.li@samsung.com>
SangYong Park [Tue, 12 May 2020 01:05:54 +0000 (10:05 +0900)]
Prevent multiple notification permission popup
Keep previous user choice of notification permmision in memory.
and, use it when notification permision is requested.
Change-Id: I7413fef73e0f2bf5eca0ced20de0f508435ee592
Signed-off-by: SangYong Park <sy302.park@samsung.com>
liwei [Sat, 9 May 2020 05:27:27 +0000 (13:27 +0800)]
[Service] Change privilege condition for application.launch / launchAppControl
Confirmed with privilege member, in privilege db, If declare an application.launch
privilege, the app will not have an application.launch privilege, but an
appmanager.launch privilege, so add "appmanager.launch" in privilege precondition,
otherwise service app can not use tizen.application.launch() /
tizen.application.launchAppControl().
Change-Id: I33b08d9221e718179228490086ab230884152c9b
Signed-off-by: liwei <wei90727.li@samsung.com>
DongHyun Song [Fri, 24 Apr 2020 08:45:45 +0000 (17:45 +0900)]
[VD] Segregates NativeWebRuntime for TV profile
Adds TV APIs for disk cache setting and handling app-control data
explicitly to simplify NotifyAppControl's original logic.
Related patch:
https://review.tizen.org/gerrit/231832/
Change-Id: Id82d6e3010a69ccc0116a15f473d32483fc7a6a2
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
jaekuk lee [Mon, 27 Apr 2020 10:46:14 +0000 (10:46 +0000)]
Merge "Defer showing window when appcontrol-reset is being done" into tizen
Surya Kumar [Tue, 18 Feb 2020 13:33:05 +0000 (19:03 +0530)]
Defer showing window when appcontrol-reset is being done
In Appcontrol-reload case, if window is shown before frame rendered,
expired content is visible for a considerable time. Avoid it by
showing the window only after frame has been rendered
Reference: https://review.tizen.org/gerrit/182918
Change-Id: Icd4877727488e40ffe65f5699c0d3a49dc35a208
Signed-off-by: Surya Kumar <surya.kumar7@samsung.com>
(cherry picked from commit
a4a4da6c20b97bb809b579b050c4dc07f5f3e7f1)
DongHyun Song [Mon, 27 Apr 2020 01:26:16 +0000 (10:26 +0900)]
[Service][VD] Remove guard of wrt-service config
New wrt-service was enabled from below patch.
This will copy plugins.json to load webapis.
Related patch:
https://review.tizen.org/gerrit/231322/
Change-Id: I27587a400cefb9202113309aa49cb62f91ba8f4a
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
jaekuk lee [Fri, 17 Apr 2020 07:37:47 +0000 (07:37 +0000)]
Merge "[Addon] Fix showMessageBox function" into tizen
Youngsoo Choi [Fri, 17 Apr 2020 02:10:07 +0000 (02:10 +0000)]
Merge "[Service][Global] Support standalone model" into tizen
ws29.jung [Tue, 14 Apr 2020 07:39:33 +0000 (16:39 +0900)]
[Addon] Fix showMessageBox function
Old version of Electron only had 'showMessageBox' function,
and it handled sync and async mode under binded C++ function.
Now new Electron export 'showMessageBoxSync' function separatly
and it works as sync mode of old 'showMessageBox'.
To handle both functions with one source code, this patch makes
addonapi method to use logical function fallback.
Change-Id: I97c06ebff302c7e3770166fe162c53ea251f05b0
Signed-off-by: ws29.jung <ws29.jung@samsung.com>
jaekuk lee [Mon, 13 Apr 2020 07:10:21 +0000 (07:10 +0000)]
Merge "[Addon] Add 'once' method for wrappedEventEmitter" into tizen
DongHyun Song [Fri, 10 Apr 2020 07:11:04 +0000 (16:11 +0900)]
[Service][Global] Support standalone model
This patch will support wrt-service is working same as legacy
wrt-service model.
Related path:
https://review.tizen.org/gerrit/228864/
Change-Id: I0858d177ceadab49ffd7bfcf33dfda69b2230424
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
hyunduk.kim [Thu, 9 Apr 2020 08:51:31 +0000 (17:51 +0900)]
[Addon] Add 'once' method for wrappedEventEmitter
This change will add a new method 'once'
which will work as same as 'once' of EventEmitter.
Change-Id: Ib218727447a79c2d1a596e5fc972e5748caca42a
Signed-off-by: hyunduk.kim <hyunduk.kim@samsung.com>
SangYong Park [Tue, 24 Mar 2020 05:46:09 +0000 (14:46 +0900)]
[Service] Refactor start/stop service codes
UI and global service implementation of start/stop service have
been merged into one. and, remove unnecessary codes.
Change-Id: Ic27ca887316b48e8e2bb23202ee238ecd62b001d
Signed-off-by: SangYong Park <sy302.park@samsung.com>