platform/framework/web/wrtjs.git
3 years ago[Service][Builtin] Introduce Appmanifest installer 86/247586/10 submit/tizen/20210127.160020 submit/tizen/20210201.022015
DongHyun Song [Thu, 12 Nov 2020 08:17:18 +0000 (17:17 +0900)]
[Service][Builtin] Introduce Appmanifest installer

This built-in service introduces to support W3C AppManifest
installation, which is written JSON manifest file.

The overall goal of this feature is that
 1) Convert JSON manifest to config.xml
    - download proper icon
 2) Archive .wgt and request to install .wgt
    - tizen.archive is newly necessary to load

To support installation of archived wgt file from this feature,
there are 2 consideration to be solved.
 a) there is no signature file
 b) at least, public level certification is necessary

Change-Id: Iaf09bdfb3e6c5d6e8471ef91ea13fda863641db0
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "Don't use rpm command in spec file" into tizen accepted/tizen/unified/20210125.075835 submit/tizen/20210122.160018 submit/tizen/20210125.073748
Bot Blink [Fri, 22 Jan 2021 05:56:03 +0000 (05:56 +0000)]
Merge "Don't use rpm command in spec file" into tizen

3 years agoDon't use rpm command in spec file 36/252036/5 accepted/tizen/unified/20210122.065506 submit/tizen/20210122.055702 submit/tizen/20210122.061210
Youngsoo Choi [Fri, 22 Jan 2021 03:33:36 +0000 (12:33 +0900)]
Don't use rpm command in spec file

The use of rpm command will block OBS build process.
This replace it with cat command to read chromium-efl version.

Change-Id: I30e738eeb69a4d205fab5b9f73ac2f66b77d165e
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years agoRefactors initDisplayDelay function for readability 58/250958/4
DongHyun Song [Wed, 6 Jan 2021 05:35:30 +0000 (14:35 +0900)]
Refactors initDisplayDelay function for readability

Segregates two parts according to 'firstLaunch'.
If first launch,
 - handle splash screen (place out of 'initDisplayDelay()')
 - add delay show event
If not first launch
 - enable window

Change-Id: Ic8104bc683bf3785581c4c3e6582d3fe738bed89
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "[Tizen6.5 Migration][Service] Support simple notification popup" into tizen
Bot Blink [Fri, 22 Jan 2021 02:59:56 +0000 (02:59 +0000)]
Merge "[Tizen6.5 Migration][Service] Support simple notification popup" into tizen

3 years agofixup![Tizen6.5 Migration][Service] Print appcontrol data when service app is launched 30/251930/2 submit/tizen/20210121.160018
liwei [Thu, 21 Jan 2021 03:25:11 +0000 (11:25 +0800)]
fixup![Tizen6.5 Migration][Service] Print appcontrol data when service app is launched

When service app is launched by "new Service()", appcontrol is not set,
so need pre-check appcontrol.

Change-Id: I6c9d312e2addee1e7e0c5308ce637f93ecede196
Signed-off-by: liwei <wei90727.li@samsung.com>
3 years agoMerge "Using native window open" into tizen submit/tizen/20210120.160025
Bot Blink [Wed, 20 Jan 2021 03:33:33 +0000 (03:33 +0000)]
Merge "Using native window open" into tizen

3 years agoMerge "[Tizen6.5 Migration][Service] Print appcontrol data when service app is launch... submit/tizen/20210118.023427 submit/tizen/20210119.012459
Bot Blink [Fri, 15 Jan 2021 07:27:16 +0000 (07:27 +0000)]
Merge "[Tizen6.5 Migration][Service] Print appcontrol data when service app is launched" into tizen

3 years ago[Tizen6.5 Migration][Service] Add getPkgApiVersion for global model 40/249840/4
DongHyun Song [Thu, 17 Dec 2020 05:07:33 +0000 (14:07 +0900)]
[Tizen6.5 Migration][Service] Add getPkgApiVersion for global model

xwalk.utils.getPkgApiVersion will return required_version of
config.xml. (a.k.a. api version)
This getPkgApiVersion() is used to check api privileges which is
allowed in Tizen platform version.

Without this patch, getPkgApiVersion() will returns wrt-service
package's api version in its manifest.

Reference:
  https://review.tizen.org/gerrit/247389/

Change-Id: Id084f2eda53e3310a2d7c5842d6bd1be4ca34fe0
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years ago[Tizen6.5 Migration][Service] Print appcontrol data when service app is launched 50/251550/1
liwei [Fri, 15 Jan 2021 02:19:22 +0000 (10:19 +0800)]
[Tizen6.5 Migration][Service] Print appcontrol data when service app is launched

Now in many scenario UI app launch service app, service app will
check tizen.application.getCurrentApplication().getRequestedAppControl()
operation and data, so print this data is good for debugging.
(ex. 3201506003227, STARZY)

Related patch:
  https://review.tizen.org/gerrit/248053/

Change-Id: I9f7b6c6319ddc0e16089ef826855ce064aeb754f
Signed-off-by: liwei <wei90727.li@samsung.com>
3 years ago[VD] Get app forcereload flag in webapplication constructor 31/251131/1 accepted/tizen/unified/20210119.130300 submit/tizen/20210115.043955
liwei [Fri, 8 Jan 2021 09:52:11 +0000 (17:52 +0800)]
[VD] Get app forcereload flag in webapplication constructor

For wrt autotest tc which check "force.loadDefaultURI" metadata,
get app forcereload flag(force.loadDefaultURI) in constructor,
otherwise it's hard to make a scenario by test script to check
this metadata.

Change-Id: I38ae46846687ab52a874d8dff22d62f581b9491f
Signed-off-by: liwei <wei90727.li@samsung.com>
3 years ago[Tizen6.5 Migration][Service] Support simple notification popup 09/249009/2
DongHyun Song [Wed, 6 Jan 2021 03:32:25 +0000 (12:32 +0900)]
[Tizen6.5 Migration][Service] Support simple notification popup

User apps can use this notification posting API by calling
webapis.postPlainNotification()
 - title: string, mandatory
 - message: string, mandatory
 - timeout: number, optional (10s default)

Actually, this feature is alternative simple solution to show
notification popup of tizen.UserNotification webapi.
Global notification webapis is not included in TV platform.

Related patch:
  https://review.tizen.org/gerrit/250942/

Change-Id: Ibf51f707be4b1edf3fc50dd94041df38cbdae168
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years ago[Service] Apply worker to 'standalone' model 46/250546/3 submit/tizen/20210106.045044
DongHyun Song [Tue, 29 Dec 2020 08:45:21 +0000 (17:45 +0900)]
[Service] Apply worker to 'standalone' model

'standalone' model will not be used anywhere.
TV will apply global wrt-service on Tizen 6.5

Change-Id: I1ebe5fbea6a9db4f56c1d9fb0c58cfa7e76fdb63
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMove inspector functions to WebApplication submit/tizen/20201231.160010 submit/tizen/20210104.160010
DongHyun Song [Wed, 16 Dec 2020 08:37:57 +0000 (17:37 +0900)]
Move inspector functions to WebApplication

debugPort / inspectorSrc are members for WebApplication class.
Then, move related functions to WebApplication is more proper and
it can reduce to check webApplication instance.

Change-Id: I7fc4415e25249e574270a38900fdcb2bd1e934e7
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMove inspector functions to WebApplication 21/249721/5
DongHyun Song [Wed, 16 Dec 2020 08:37:57 +0000 (17:37 +0900)]
Move inspector functions to WebApplication

debugPort / inspectorSrc are members for WebApplication class.
Then, move related functions to WebApplication is more proper and
it can reduce to check webApplication instance.

Change-Id: I7fc4415e25249e574270a38900fdcb2bd1e934e7
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoUsing native window open 95/248995/2
SangYong Park [Fri, 4 Dec 2020 04:55:37 +0000 (13:55 +0900)]
Using native window open

window.open uses electron js logic when renderer was integrated with node.
(node is integrated in renderer when addon is enabled. and default webapp
do not use node in renderer side.). It has some compatibility issue.
so, use native window open always.

related:
https://review.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/248981/

Change-Id: I8d786b2d9d1ba97796217f0b2cb2371e89b80479
Signed-off-by: SangYong Park <sy302.park@samsung.com>
3 years agoRefactor app-control event to improve readability 90/248790/8 submit/tizen/20201207.123336 submit/tizen/20201208.224749 submit/tizen/20201210.094820 submit/tizen/20201210.160024 submit/tizen/20201211.160010 submit/tizen/20201220.160010 submit/tizen/20201222.160010 submit/tizen/20201225.160010
DongHyun Song [Wed, 2 Dec 2020 08:14:35 +0000 (17:14 +0900)]
Refactor app-control event to improve readability

1) Split into small functions by their roles.
2) Move functions to proper class
 - most of them are located in WebApplication

Change-Id: Ibd03eb6b6ef29c197266b7b9d51393134c06c375
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "Make same function name with its event name" into tizen
Bot Blink [Thu, 3 Dec 2020 23:16:40 +0000 (23:16 +0000)]
Merge "Make same function name with its event name" into tizen

3 years agoMake same function name with its event name 87/248787/5
DongHyun Song [Wed, 2 Dec 2020 07:54:15 +0000 (16:54 +0900)]
Make same function name with its event name

1) Rename functions same as its event name
2) Add blank line among functions.

Change-Id: Ide74634ec37060572862e3983a953a54151a6fa5
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoRefactor disk cache setting and appcontrol data 19/248119/4 submit/tizen/20201203.011003
DongHyun Song [Sun, 22 Nov 2020 22:12:06 +0000 (07:12 +0900)]
Refactor disk cache setting and appcontrol data

Delete codes will be handled in native code side

Related patch:
  https://review.tizen.org/gerrit/248127/

Change-Id: I596fce437f43664c4fd17eff959375d46ff7b776
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoRevert "[Service] Add edge orchestration interface" 44/248644/1 submit/tizen/20201202.025403
Youngsoo Choi [Tue, 1 Dec 2020 06:24:21 +0000 (22:24 -0800)]
Revert "[Service] Add edge orchestration interface"

This reverts commit d55cc7de0b1ddb97a0eb533558fd51edb382763f.
The edge interface is not ready yet on M85 chromium-efl.

Change-Id: I1dfd008b4e6ebb4594aa7791ee2c5a58e43589a6
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years agoMerge "[M85] Suppress a macOS hack present in electron to gain webview focus" into... submit/tizen/20201201.021341
Bot Blink [Thu, 26 Nov 2020 06:00:24 +0000 (06:00 +0000)]
Merge "[M85] Suppress a macOS hack present in electron to gain webview focus" into tizen

3 years agoMerge "Remove unnecessary cookie api" into tizen
Bot Blink [Wed, 25 Nov 2020 01:40:33 +0000 (01:40 +0000)]
Merge "Remove unnecessary cookie api" into tizen

3 years ago[M85] Suppress a macOS hack present in electron to gain webview focus 40/248240/2
Surya Kumar [Tue, 24 Nov 2020 07:21:23 +0000 (12:51 +0530)]
[M85] Suppress a macOS hack present in electron to gain webview focus

A hack used by electron meant for macOS & extended for other
platforms contingently is causing behavior difference from XWALK.
Since that's the only consumer of 'load-url', removed all
event listeners.
Focus will anyway be gained by WebContents on their respective
show() calls. Fixes P200228-07034 & P200113-07900.

Reference: https://review.tizen.org/gerrit/226898

Change-Id: Ife2e6fd54c146596becd5cd00fb86797a9dc6cae
Signed-off-by: Surya Kumar <surya.kumar7@samsung.com>
3 years agoMerge "Don't display splash screen in background mode" into tizen submit/tizen/20201124.112151
Bot Blink [Tue, 24 Nov 2020 06:50:22 +0000 (06:50 +0000)]
Merge "Don't display splash screen in background mode" into tizen

3 years agoDon't display splash screen in background mode 30/247830/3
jaekuk, lee [Tue, 17 Nov 2020 08:52:55 +0000 (17:52 +0900)]
Don't display splash screen in background mode

When launching app in backgroundAtStartup launchMode,
prevent splash screen from being displayed.

Change-Id: I416fce778e5a001df5a6da855959c88d42ac19f4
Signed-off-by: jaekuk, lee <juku1999@samsung.com>
3 years agoMerge "[Service] Changes 'DAEMON' to 'GLOBAL'" into tizen.beta tizen.beta
Bot Blink [Tue, 17 Nov 2020 06:38:24 +0000 (06:38 +0000)]
Merge "[Service] Changes 'DAEMON' to 'GLOBAL'" into tizen.beta

3 years agoMerge "[Service] Refactor unload xwalk extension" into tizen.beta
Bot Blink [Mon, 16 Nov 2020 05:29:42 +0000 (05:29 +0000)]
Merge "[Service] Refactor unload xwalk extension" into tizen.beta

3 years ago[Service] Changes 'DAEMON' to 'GLOBAL' 43/247743/1
DongHyun Song [Mon, 16 Nov 2020 05:10:57 +0000 (14:10 +0900)]
[Service] Changes 'DAEMON' to 'GLOBAL'

'global' wrt-service is more common name than 'daemon'

Related chromium-efl patch:
  https://review.tizen.org/gerrit/247741/

Change-Id: I9139832bc0cf4d2ce6a6b916c1e98ba984e4e5ed
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "[Service] Terminate worker more gracefully" into tizen.beta
Bot Blink [Mon, 16 Nov 2020 04:34:46 +0000 (04:34 +0000)]
Merge "[Service] Terminate worker more gracefully" into tizen.beta

3 years agoMerge "[Service] Terminate node without process.exit()" into tizen.beta
Bot Blink [Mon, 16 Nov 2020 04:24:18 +0000 (04:24 +0000)]
Merge "[Service] Terminate node without process.exit()" into tizen.beta

3 years agoMerge "[Service] Prevent multiple calls of wrt.stopService()" into tizen.beta
Bot Blink [Mon, 16 Nov 2020 04:18:58 +0000 (04:18 +0000)]
Merge "[Service] Prevent multiple calls of wrt.stopService()" into tizen.beta

3 years agoRemove unnecessary cookie api 61/247661/1
SangYong Park [Thu, 12 Nov 2020 06:04:33 +0000 (15:04 +0900)]
Remove unnecessary cookie api

Related patch:
https://review.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/247660/

Change-Id: Ic5dc532cd2ce99df148398ad052e508e1e4fcdf4
Signed-off-by: SangYong Park <sy302.park@samsung.com>
3 years ago[Service] Prevent multiple calls of wrt.stopService() 29/247629/1
DongHyun Song [Fri, 6 Nov 2020 07:55:37 +0000 (16:55 +0900)]
[Service] Prevent multiple calls of wrt.stopService()

In case of RakutenTV app, it calls tizen.application...exit()
twice. Of course WRTServiceManager::Remove() will skip stopService
at the second time, this patch can skip stopService() sequence more
early time.

Change-Id: I65fdfb13f28834e4093f6be7888054e6aec7162b
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
(cherry picked from commit 9b0419b99033485731a603ac1bb96d1cc87ea7ee)

3 years ago[Service] Terminate node without process.exit() 28/247628/1
DongHyun Song [Sun, 8 Nov 2020 11:12:31 +0000 (20:12 +0900)]
[Service] Terminate node without process.exit()

Node process will be terminated by uv handleres release instead of
process.exit().

Related patch:
  https://review.tizen.org/gerrit/247203/

Change-Id: I24824ed1cc7ed9c055502d29a9008d27fedd3031
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
(cherry picked from commit 9153d03dc5406e4e7017edcacdd81fa176d6490d)

3 years ago[Service] Terminate worker more gracefully 27/247627/1
DongHyun Song [Fri, 6 Nov 2020 00:48:12 +0000 (09:48 +0900)]
[Service] Terminate worker more gracefully

process.exit() in node worker will call Worker::Exit(), which stop
the thread asyncronously. So WorkerThreadData is released later
after worker's exit event.

worker.terminate() in main thread will call Worker::StopThread(),
which processes Worker::JoinThread() as well as Worker::Exit().
JoinThread() can defer parent's exit() call after worker's gone.

Change-Id: Iad6bd2d64f158e7d6734500a7ab0623d75ad630f
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
(cherry picked from commit 480b6888ff5a0e9fd5983788fc4a98d97e32e217)

3 years ago[Service] Refactor unload xwalk extension 26/247626/1
DongHyun Song [Mon, 2 Nov 2020 07:55:24 +0000 (16:55 +0900)]
[Service] Refactor unload xwalk extension

unloadInstance() is introduced for optimizing memory on global
model. But with irregular crash problems on UvTaskRunner's
OnTimeout function, it try to access xwalk instance after deleted.

This patch will remove calling unloadInstance() API.
Unloading xwalk extension will be refactored below patch.

Related patch:
  https://review.tizen.org/gerrit/246586/

Change-Id: Ie6a74b815680f02530fd2553427d03bf1634d612
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
(cherry picked from commit f93dfc53d1b8626d3204c41113d86497b90f7ad3)

4 years ago[Service] Add edge orchestration interface 44/245644/10
Youngsoo Choi [Tue, 13 Oct 2020 09:35:00 +0000 (02:35 -0700)]
[Service] Add edge orchestration interface

This provides initial edge orchestration interface.

Change-Id: I44df11d7769e9ed692790cd9efd6735a97de94c5
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
4 years agoMerge "[Service] Prevent multiple calls of wrt.stopService()" into tizen
Bot Blink [Mon, 9 Nov 2020 06:40:00 +0000 (06:40 +0000)]
Merge "[Service] Prevent multiple calls of wrt.stopService()" into tizen

4 years ago[Service][VD] Apply main thread with standalone model 90/246990/6 accepted/tizen/6.0/unified/20201110.010759 submit/tizen_6.0/20201109.073041 submit/tizen_6.0/20201109.093913
DongHyun Song [Fri, 6 Nov 2020 00:39:03 +0000 (09:39 +0900)]
[Service][VD] Apply main thread with standalone model

With standalone model of service application, this patch will apply
main thread service_runner to solve crash problems of node worker.

Change-Id: I5fb69368a4bae36ac11d465200b2cd0a42e6c3a1
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years ago[Service] Prevent multiple calls of wrt.stopService() 30/247030/5
DongHyun Song [Fri, 6 Nov 2020 07:55:37 +0000 (16:55 +0900)]
[Service] Prevent multiple calls of wrt.stopService()

In case of RakutenTV app, it calls tizen.application...exit()
twice. Of course WRTServiceManager::Remove() will skip stopService
at the second time, this patch can skip stopService() sequence more
early time.

Change-Id: I65fdfb13f28834e4093f6be7888054e6aec7162b
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years ago[Service] Terminate node without process.exit() 02/247202/2
DongHyun Song [Sun, 8 Nov 2020 11:12:31 +0000 (20:12 +0900)]
[Service] Terminate node without process.exit()

Node process will be terminated by uv handleres release instead of
process.exit().

Related patch:
  https://review.tizen.org/gerrit/247203/

Change-Id: I24824ed1cc7ed9c055502d29a9008d27fedd3031
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years agoMerge "[Service] Terminate worker more gracefully" into tizen
Bot Blink [Fri, 6 Nov 2020 04:02:17 +0000 (04:02 +0000)]
Merge "[Service] Terminate worker more gracefully" into tizen

4 years ago[Service] Terminate worker more gracefully 91/246991/2
DongHyun Song [Fri, 6 Nov 2020 00:48:12 +0000 (09:48 +0900)]
[Service] Terminate worker more gracefully

process.exit() in node worker will call Worker::Exit(), which stop
the thread asyncronously. So WorkerThreadData is released later
after worker's exit event.

worker.terminate() in main thread will call Worker::StopThread(),
which processes Worker::JoinThread() as well as Worker::Exit().
JoinThread() can defer parent's exit() call after worker's gone.

Change-Id: Iad6bd2d64f158e7d6734500a7ab0623d75ad630f
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years ago[DA] Emit 'ready-to-show' instead of call 'show'. 55/246955/1 accepted/tizen/unified/20201106.051703 submit/tizen/20201105.160010
jihwankim [Thu, 5 Nov 2020 09:41:15 +0000 (18:41 +0900)]
[DA] Emit 'ready-to-show' instead of call 'show'.

Now, to enhance launch speed of web app, DA calls 'mainWindow.show'.
But because of this, 'ready-to-show' is now emitted from electron,
and this makes malfunction after pause/resume.

So, emit 'ready-to-show' to enhance launch speed, not call 'mainwindow.show'.

Change-Id: I103b1a4fc8f89ebe8b748f43f45f7979ef9377ef
Signed-off-by: jihwankim <jh_marc.kim@samsung.com>
4 years ago[Service] Refactor unload xwalk extension 85/246585/5
DongHyun Song [Mon, 2 Nov 2020 07:55:24 +0000 (16:55 +0900)]
[Service] Refactor unload xwalk extension

unloadInstance() is introduced for optimizing memory on global
model. But with irregular crash problems on UvTaskRunner's
OnTimeout function, it try to access xwalk instance after deleted.

This patch will remove calling unloadInstance() API.
Unloading xwalk extension will be refactored below patch.

Related patch:
  https://review.tizen.org/gerrit/246586/

Change-Id: Ie6a74b815680f02530fd2553427d03bf1634d612
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years agoMerge "[DA] Show native window in app-control." into tizen accepted/tizen/unified/20201102.124300 submit/tizen/20201030.030917 submit/tizen/20201030.045231 submit/tizen/20201030.160009
KyungYoun Won [Fri, 30 Oct 2020 01:25:36 +0000 (01:25 +0000)]
Merge "[DA] Show native window in app-control." into tizen

4 years ago[Service] Release fake timer when stopService. 25/246425/3
DongHyun Song [Thu, 29 Oct 2020 07:10:52 +0000 (16:10 +0900)]
[Service] Release fake timer when stopService.

This fake timer is to avoid unknown uv loop delay issue.
It should clear this fake timer after stopService.

Change-Id: I320dcdf6d0b0066e560692bdb9c56b3ec9b8352a
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years agoApply electron v10 03/246403/1
SangYong Park [Thu, 29 Oct 2020 05:41:08 +0000 (14:41 +0900)]
Apply electron v10

Change module path for electron v10

Change-Id: I7f9bc61b2d4b614a10b245a8071bee55a0928bfd
Signed-off-by: SangYong Park <sy302.park@samsung.com>
4 years ago[DA] Show native window in app-control. 06/246306/2
jihwankim [Wed, 28 Oct 2020 04:10:22 +0000 (13:10 +0900)]
[DA] Show native window in app-control.

Now, native window is shown when 'ready-to-show' is called.
This is an intentional operation using an electron api.
But because of this, there is a VOC that the launch speed of the web app seems to be slow.

DA decided that it would be better to show the window if it is not ready.
(Even if it is an empty screen)

So call WebApplication.show in app-control callback.

This patch uses DAExtension api, so this should be applied with or after the patch below.
https://review.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/246305/

Change-Id: I5a872ab0408b739d86890fc03c942c927160fdc8
Signed-off-by: jihwankim <jh_marc.kim@samsung.com>
4 years agoMerge "Refactor suspend sequence" into tizen accepted/tizen/unified/20201029.124952 submit/tizen/20201027.083557
Bot Blink [Tue, 27 Oct 2020 04:42:23 +0000 (04:42 +0000)]
Merge "Refactor suspend sequence" into tizen

4 years agoMerge "Remove wrt.tv.flushCookie()" into tizen
Bot Blink [Tue, 27 Oct 2020 01:09:18 +0000 (01:09 +0000)]
Merge "Remove wrt.tv.flushCookie()" into tizen

4 years agoRefactor suspend sequence 55/246155/5
DongHyun Song [Mon, 26 Oct 2020 10:07:57 +0000 (19:07 +0900)]
Refactor suspend sequence

To guarantee unload* events, suspend() should be deffered after
closing windows.

Related patch:
  https://review.tizen.org/gerrit/246015/
  https://review.tizen.org/gerrit/245417/

Change-Id: Id13a275b64e75f985e0115eee6771e3c29dd9cd9
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years agoMerge "[TV] Bring cancelDialogs() forward to before-quit" into tizen
Bot Blink [Mon, 26 Oct 2020 07:30:41 +0000 (07:30 +0000)]
Merge "[TV] Bring cancelDialogs() forward to before-quit" into tizen

4 years agoMerge "[TV] Remove unnecessary code" into tizen
Bot Blink [Fri, 23 Oct 2020 07:07:56 +0000 (07:07 +0000)]
Merge "[TV] Remove unnecessary code" into tizen

4 years ago[TV] Bring cancelDialogs() forward to before-quit 53/245553/4
DongHyun Song [Mon, 12 Oct 2020 08:32:23 +0000 (17:32 +0900)]
[TV] Bring cancelDialogs() forward to before-quit

With below refactor patch,
  https://review.tizen.org/gerrit/245417/

Defered timing of closing windows, Sometimes, JS exception is
coming due to access of destroyed Object at

  wrt.tv.cancelDialogs(this.mainWindow.webContents);

Change-Id: I207c890cb84e6aaec8ed13316c39b80dd2e6cd3c
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years agoRefactor suspend sequence 15/246015/5
DongHyun Song [Thu, 22 Oct 2020 05:15:08 +0000 (14:15 +0900)]
Refactor suspend sequence

1) Bring forward suspend time when before-quit.
 ** When OnTerminate is coming first earlier than OnPause,
  'quit' makes this.webApplication as undefined, then
  wrt.on('suspend'...) will be skipped. This means that
  With normal termination sequence, suspending might be not
  handled.

2) Even though background runnable app, when app is in quitting,
 enable suspend sequence for right termination sequence.

Change-Id: Ie40f650ea317d6f198f9c1c1aa07c9bc6867b693
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
4 years agoMerge "[Service][Reland] Apply node worker for standalone model" into tizen
Bot Blink [Wed, 21 Oct 2020 15:00:03 +0000 (15:00 +0000)]
Merge "[Service][Reland] Apply node worker for standalone model" into tizen

4 years agoMerge "[Service] Exception is throwing if argument length is 0" into tizen
Bot Blink [Wed, 21 Oct 2020 14:56:28 +0000 (14:56 +0000)]
Merge "[Service] Exception is throwing if argument length is 0" into tizen

4 years ago[Service] Exception is throwing if argument length is 0 13/245913/3
k2.nagaraju [Mon, 19 Oct 2020 15:35:06 +0000 (21:05 +0530)]
[Service] Exception is throwing if argument length is 0

Calling |resolveVirtualRoot| with |0| parameter throwing
exception, which is causing failure in service filesystem webtct.

Change-Id: I5e8d54f916d408145331066b31f7432ad7a3be55
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
4 years agoMerge "[Service][TV] Support more webapis.productinfo" into tizen
Bot Blink [Wed, 21 Oct 2020 06:26:10 +0000 (06:26 +0000)]
Merge "[Service][TV] Support more webapis.productinfo" into tizen

4 years ago[TV] Remove unnecessary code 84/245984/1
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>
4 years ago[Service][Reland] Apply node worker for standalone model 35/245635/7
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>
4 years ago[Service] Make appInfo writable 03/245903/3
Youngsoo Choi [Mon, 19 Oct 2020 12:11:03 +0000 (05:11 -0700)]
[Service] Make appInfo writable

In follwing sample code, The appInfo needs to be writable with
application information having app id 'TCT_APPCONTROL_APPID' as TC expected.

> var app = tizen.application.getCurrentApplication();
> app.appInfo =
>     tizen.application.getAppInfo(application_common.TCT_APPCONTROL_APPID);

Change-Id: I6d89d5d1c0d9c241cebc5ff92b15167c890f1a55
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
4 years ago[Service][TV] Support more webapis.productinfo 61/244961/8
liwei [Mon, 28 Sep 2020 07:35:21 +0000 (15:35 +0800)]
[Service][TV] Support more webapis.productinfo

Support webapis.productinfo.is8KPanelSupported() /
isUHDAModel() / getSmartTVServerType() / isWallModel()

Native Patch:
https://review.tizen.org/gerrit/244962/

Change-Id: Icdd34cf44338a8d5b92bfad1c98cd96b07309b4a
Signed-off-by: liwei <wei90727.li@samsung.com>
4 years agoMerge "Revert "[Service] Apply node worker for standalone model"" into tizen
Bot Blink [Tue, 13 Oct 2020 08:44:20 +0000 (08:44 +0000)]
Merge "Revert "[Service] Apply node worker for standalone model"" into tizen

4 years agoRevert "[Service] Apply node worker for standalone model" 22/245622/1
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

4 years agoRevert "[Service] Refactor stop service sequence" 21/245621/1
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

4 years agoRemove wrt.tv.flushCookie() 00/245000/3
DongHyun Song [Tue, 29 Sep 2020 02:47:49 +0000 (11:47 +0900)]
Remove wrt.tv.flushCookie()

flushCookie() will be called on WRTCookieManager's dtor.
flushStorageData() is applied for all profile.

Related chromium-efl patch:
  https://review.tizen.org/gerrit/245001/

Change-Id: Ic339b7d639c76dd5829c1a8f0ba0bd1d24941823

4 years ago[Service] Refactor stop service sequence 91/245591/4
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>
4 years ago[Service] Make application.getCurrentApplication work 82/245382/7
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>
4 years agofixup! [Service] Make application.getAppContext work 34/245334/2
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>
4 years ago[Service] Make application.getAppContext work 79/245279/5
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>
4 years agoMerge "[Service] Apply node worker for standalone model" into tizen accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.104810 accepted/tizen/6.0/unified/hotfix/20201103.000138 accepted/tizen/6.0/unified/hotfix/20210105.042323 accepted/tizen/unified/20201007.090702 submit/tizen/20201005.132203 submit/tizen/20201006.040045 submit/tizen/20201006.040144 submit/tizen_6.0/20201029.205501 submit/tizen_6.0_hotfix/20201102.192901 submit/tizen_6.0_hotfix/20201103.115101 submit/tizen_6.0_hotfix/20201221.080611 tizen_6.0.m2_release
Bot Blink [Mon, 5 Oct 2020 11:28:21 +0000 (11:28 +0000)]
Merge "[Service] Apply node worker for standalone model" into tizen

4 years ago[Service] Let UI service use web app privileges 10/245210/1 submit/tizen/20201007.014211
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>
4 years ago[Service] Apply node worker for standalone model 38/244938/3
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>
4 years agoMerge "[Service] Update app_id based on input received." into tizen
Bot Blink [Mon, 5 Oct 2020 01:46:30 +0000 (01:46 +0000)]
Merge "[Service] Update app_id based on input received." into tizen

4 years ago[Service] Update app_id based on input received. 02/245102/2
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>
4 years ago[service] Add notification xwalk extension support for service app. 72/245072/1
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>
4 years ago[Service] Add service type in node worker 10/245010/1
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>
4 years ago[Service][TV] Add TV productinfo webapis 62/243762/5
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>
4 years agoMerge "[D2D] Change path for app routing." into tizen accepted/tizen/unified/20200928.100321 submit/tizen/20200928.023533
Bot Blink [Fri, 25 Sep 2020 04:27:27 +0000 (04:27 +0000)]
Merge "[D2D] Change path for app routing." into tizen

4 years ago[D2D] Change path for app routing. 39/244839/1
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>
4 years ago[Service] Fix not returning handler id of systeminfo 20/244820/2
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>
4 years ago[Service] APIRouter - xwalk.util.checkPrivilegeAccess 20/243720/8 submit/tizen/20200924.160008
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>
4 years agoMerge "[Service][TV] Refactor for wasm-caching shutdown" into tizen
Bot Blink [Thu, 24 Sep 2020 04:26:51 +0000 (04:26 +0000)]
Merge "[Service][TV] Refactor for wasm-caching shutdown" into tizen

4 years agoMerge "[Service] Refactor builtin-service with node worker" 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

4 years ago[Service][TV] Refactor for wasm-caching shutdown 22/244522/7
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>
4 years ago[Service] Refactor builtin-service with node worker 53/244053/12
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>
4 years ago[D2D] Add privilege for DeviceWebServer. 70/244670/1 accepted/tizen/unified/20200924.000949 accepted/tizen/unified/20200924.072549 submit/tizen/20200923.100558 submit/tizen/20200924.032230
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>
4 years ago[service] filesystem web deviceapi call getting hanged. 59/244559/1 accepted/tizen/unified/20200923.093723 submit/tizen/20200922.160009
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>
4 years agoMerge "[Service] update package_id based on input received" into tizen
Bot Blink [Mon, 21 Sep 2020 04:54:55 +0000 (04:54 +0000)]
Merge "[Service] update package_id based on input received" into tizen

4 years ago[Service] update package_id based on input received 79/244279/4
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>
4 years ago[Service] Remove global.gc() 21/244321/5
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>
4 years agoMerge "[Service]Add more xwalk extensions for service app" into tizen
Bot Blink [Wed, 16 Sep 2020 02:33:48 +0000 (02:33 +0000)]
Merge "[Service]Add more xwalk extensions for service app" into tizen

4 years ago[Service]Add more xwalk extensions for service app 25/240525/5 accepted/tizen/unified/20200921.095059 submit/tizen/20200917.024129
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>
4 years ago[Service] Call global.gc() when terminating a service 79/243879/8
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>
4 years ago[D2D] Modify to not launch d2d app repeatedly. 83/243783/3 accepted/tizen/unified/20200911.143423 submit/tizen/20200910.160006 submit/tizen/20200911.013850
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>
4 years ago[Service] Fix memory leak with worker isolation 15/243515/14
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>
4 years ago[Service] Introduce worker isolation 85/242985/13
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>