platform/framework/web/wrtjs.git
3 years ago[DeviceHome] Remove unnecessary files 00/257000/2 accepted/tizen/unified/20210416.143337 accepted/tizen/unified/20210419.153541 submit/tizen/20210416.072715 submit/tizen/20210416.160018 submit/tizen/20210417.030150
Hunseop Jeong [Fri, 16 Apr 2021 07:11:01 +0000 (00:11 -0700)]
[DeviceHome] Remove unnecessary files

The unnecessary test, example folders and md, map files are removed.
The rom size is saved from 8060 KB to 5140 KB.

Change-Id: I321bceec31080aca1cee4cd5be415bac7d0e497b
Signed-off-by: Hunseop Jeong <hs85.jeong@samsung.com>
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[hotfix] Ignore type checking for edge 96/256996/1 submit/tizen/20210416.063101
Youngsoo Choi [Fri, 16 Apr 2021 05:59:03 +0000 (22:59 -0700)]
[hotfix] Ignore type checking for edge

The edge library is applied to chromium-efl but
the image including it isn't ready yet.

Note that once the image is created, this will be reverted.

Change-Id: I294890829c120993655f94d75b0cac45cc501cc7
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[DeviceHome] Reduce size of libraries 90/256990/1 submit/tizen/20210416.053116
Hunseop Jeong [Fri, 16 Apr 2021 05:20:31 +0000 (14:20 +0900)]
[DeviceHome] Reduce size of libraries

Change-Id: I07ff8bb243f8f138c7f46aec57242319582a0e6f
Signed-off-by: Hunseop Jeong <hs85.jeong@samsung.com>
3 years agofixup! [DeviceHome] Revmoe duplicated libraries 87/256987/1
Youngsoo Choi [Fri, 16 Apr 2021 04:48:42 +0000 (21:48 -0700)]
fixup! [DeviceHome] Revmoe duplicated libraries

The missing isarray is added.

Change-Id: I1d40f8b1196565b7661a5a83bcf1c43277e8f5c7
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[DeviceHome] Revmoe duplicated libraries 85/256985/1
Youngsoo Choi [Fri, 16 Apr 2021 03:53:45 +0000 (20:53 -0700)]
[DeviceHome] Revmoe duplicated libraries

To save rom size, the duplicated libraries are removed.

Change-Id: I04480f07de778ba8a96a1115036e343a0fb6609c
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[Service] Integrate DeviceHome and SignalingServer 58/256958/3 submit/tizen/20210415.103124 submit/tizen/20210415.160011 submit/tizen/20210416.021733
Youngsoo Choi [Thu, 15 Apr 2021 11:18:32 +0000 (04:18 -0700)]
[Service] Integrate DeviceHome and SignalingServer

The DeviceHome and the SignalingServer are unified
to reduce rom size by sharing common parts.

Change-Id: Id16b850e2277359d7446bd0dc961007b68fb5244
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[SignalingServer] Optimize dependent modules 27/256927/2 submit/tizen/20210415.095900 submit/tizen/20210415.160019
Insoon Kim [Thu, 15 Apr 2021 01:02:37 +0000 (18:02 -0700)]
[SignalingServer] Optimize dependent modules

This reduces node_modules size from 13M to 9.8M

Change-Id: I7de6964204b659dfa6b1c71e4378622772d90b4c
Signed-off-by: Insoon Kim <is46.kim@samsung.com>
3 years ago[SignalingServer] Disable 'onboot' property 28/256928/2 submit/tizen/20210415.050844
Insoon Kim [Thu, 15 Apr 2021 01:04:57 +0000 (18:04 -0700)]
[SignalingServer] Disable 'onboot' property

The signaling server is not started automatically on boot.

The signaling server can be started using by
  $ app_launcher -s YwfXAVFyIw.Service

Change-Id: I8182a1aa4b30048c004e6aaf106c7c39a1892110
Signed-off-by: Insoon Kim <is46.kim@samsung.com>
3 years agoMerge "[Service] Add edge orchestration interface" into tizen submit/tizen/20210414.160019 submit/tizen/20210415.020123
Bot Blink [Wed, 14 Apr 2021 11:49:15 +0000 (11:49 +0000)]
Merge "[Service] Add edge orchestration interface" into tizen

3 years agoMerge "[SignalingServer] Preload to Public image" into tizen submit/tizen/20210414.233757
Bot Blink [Wed, 14 Apr 2021 11:47:02 +0000 (11:47 +0000)]
Merge "[SignalingServer] Preload to Public image" into tizen

3 years agoMerge "[SignalingServer] Forked Signaling Server" into tizen
Bot Blink [Wed, 14 Apr 2021 11:41:44 +0000 (11:41 +0000)]
Merge "[SignalingServer] Forked Signaling Server" into tizen

3 years ago[SignalingServer] Preload to Public image 52/256852/2
Insoon Kim [Wed, 14 Apr 2021 03:14:30 +0000 (20:14 -0700)]
[SignalingServer] Preload to Public image

This preloads Signaling Server service to Public image by default.

Change-Id: Icb800a7ac8e3262fc41d7d40df7f5dc28431997e
Signed-off-by: Insoon Kim <is46.kim@samsung.com>
3 years ago[SignalingServer] Forked Signaling Server 51/256851/2
Insoon Kim [Wed, 14 Apr 2021 02:27:42 +0000 (19:27 -0700)]
[SignalingServer] Forked Signaling Server

This is forked from
https://github.sec.samsung.net/HighPerformanceWeb/offload.js

This signaling server will be integrated later to
https://github.sec.samsung.net/HighPerformanceWeb/OffloadingSignalingServer

Change-Id: If4c5511d26d79ac3bcef76bc5958a50cae6824fb
Signed-off-by: Insoon Kim <is46.kim@samsung.com>
3 years ago[Service] Upgrade device home as v1.0.2 01/256901/1 submit/tizen/20210414.103328
Youngsoo Choi [Wed, 14 Apr 2021 09:14:05 +0000 (02:14 -0700)]
[Service] Upgrade device home as v1.0.2

- Improval of web socket connections
- Removal of d2d app dependent logic
- Generating RSA keys in runtime for security reason

Change-Id: Icad70d8f8d267e29810de6c998795fce948af3f4
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[Service] Add edge orchestration interface 44/256844/1
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: I432db4ec011a5bbaf83ea65e1f0bfe9877690ac4
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[VD] Remove unnecessary log of file protocol interceptor. 12/256612/1 submit/tizen/20210408.160019
DongHyun Song [Thu, 8 Apr 2021 05:40:02 +0000 (14:40 +0900)]
[VD] Remove unnecessary log of file protocol interceptor.

If completion callback has no error, skip to print it.

Change-Id: I90274563b9d25ab8553c788a66a664acc5c07a5a
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years ago[DeviceHome] Remove RSA keys 06/256506/1 submit/tizen/20210406.160018
Youngsoo Choi [Tue, 6 Apr 2021 02:40:16 +0000 (19:40 -0700)]
[DeviceHome] Remove RSA keys

The RSA keys will be generated in runtime on another patch later.

Change-Id: I0cbe2a1ab1d4d37a416ec3a0c03b283f235c1032
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years agoDrop smack/capability main thread with standalone model 05/256405/3 accepted/tizen/unified/20210407.100544 submit/tizen/20210402.160018 submit/tizen/20210406.004233
DongHyun Song [Fri, 2 Apr 2021 03:52:34 +0000 (12:52 +0900)]
Drop smack/capability main thread with standalone model

With standalone model, the main thread also must have its app label.

Change-Id: I53718b1f260744bed0b55ac4b4672b0a7f548f0a
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years ago[Service] Upgrade device home as v1.0.1 80/256180/6 accepted/tizen/unified/20210331.063840 submit/tizen/20210331.015413 submit/tizen/20210331.021629 submit/tizen/20210331.160019 submit/tizen/20210401.034045
Youngsoo Choi [Tue, 30 Mar 2021 10:30:16 +0000 (03:30 -0700)]
[Service] Upgrade device home as v1.0.1

This upgrades device home as v1.0.1 for public and product tv profiles.
The source size is 11 MB.

- D2D app launcher template on device home
- Session control for D2D apps with remote deivces
- Pin-code verification between TV and the other targets using RSA crypto
- Removal of basic remote controller that will be provided by D2D app
- Removal of unnecessary files from tau library (13 MB -> 5 MB)
- Removal of duplicated node modules

Change-Id: I1e7b6c14250d8f670c81c75f42df8c7971137fff
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[VD] Remove importCertificate() 45/256145/1 accepted/tizen/unified/20210331.054206 submit/tizen/20210330.094523 submit/tizen/20210330.160019
DongHyun Song [Tue, 30 Mar 2021 05:39:34 +0000 (14:39 +0900)]
[VD] Remove importCertificate()

This will be handled on native side.

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

Change-Id: I7b6ac68b1716d74d2c0c6cfb1f6a6da5d5cc0502
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "[VD] Segregates WebApplicationDelegateTV for TV profile" into tizen
Bot Blink [Tue, 30 Mar 2021 05:40:07 +0000 (05:40 +0000)]
Merge "[VD] Segregates WebApplicationDelegateTV for TV profile" into tizen

3 years ago[VD] Segregates WebApplicationDelegateTV for TV profile 28/255828/14
DongHyun Song [Wed, 24 Mar 2021 05:59:51 +0000 (14:59 +0900)]
[VD] Segregates WebApplicationDelegateTV for TV profile

WebApplicationDelegateTV will implements TV profile feature via
inherited from WebApplicationDelegate base class.

This patch will improve code readability of WebApplication class.

Change-Id: Ic785f47fc19ad69a93701744eab2a50e6175d7be
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoRevert "[Public][Service] Upgrade d2d app version as v1.0.1" 29/256129/1 accepted/tizen/unified/20210331.005331 submit/tizen/20210330.020606
Youngsoo Choi [Tue, 30 Mar 2021 01:44:22 +0000 (18:44 -0700)]
Revert "[Public][Service] Upgrade d2d app version as v1.0.1"

This reverts commit 4697443e81b8c10fb5c8677199a91f7f5ce5a0b1
and 93f8a4ffa77df1b6fc850f57eb143b10ed3f575c.

The d2d app v1.0.1 will be uploaded later.

Change-Id: I51cf04eb01b6e3204b06bf444509a82c274e4f89
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years agofixup! [Public][Service] Upgrade d2d app version as v1.0.1 96/255896/1 submit/tizen/20210325.160019 submit/tizen/20210329.031328
Youngsoo Choi [Thu, 25 Mar 2021 02:08:56 +0000 (19:08 -0700)]
fixup! [Public][Service] Upgrade d2d app version as v1.0.1

The widget version should be v1.0.0.
Otherwise, the package can't be installed on target.

Change-Id: Idb5cfaad09639a61e257e411b072aebd8b771925
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years agofixup!Minor refactor logic of quit for non-multitasking app 42/255842/1 submit/tizen/20210324.231941
liwei [Wed, 24 Mar 2021 07:14:22 +0000 (15:14 +0800)]
fixup!Minor refactor logic of quit for non-multitasking app

If app is backgroundsupport, window cannot be set to false.

Change-Id: I30a7885cb4013257beffab4c95eb10b5fa7a5379
Signed-off-by: liwei <wei90727.li@samsung.com>
3 years agofixup! [Service] Add MDE webapis 56/255656/2 submit/tizen/20210323.160018
Youngsoo Choi [Mon, 22 Mar 2021 05:20:14 +0000 (22:20 -0700)]
fixup! [Service] Add MDE webapis

The Tizen privilege account.read is needed to access to account id
for security reason.

Change-Id: If608e7a4d0b6a6a72a309bcfddc33405655761ea
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[Public][Service] Upgrade d2d app version as v1.0.1 90/255490/6 submit/tizen/20210319.160018
Youngsoo Choi [Fri, 19 Mar 2021 01:48:26 +0000 (18:48 -0700)]
[Public][Service] Upgrade d2d app version as v1.0.1

This upgrades d2d app version as v1.0.1.

Change-Id: I6c305c011537e026779634993a56fcaec1d02425
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[Service] Check launcher process 93/254893/5 accepted/tizen/unified/20210319.140915 submit/tizen/20210317.160018 submit/tizen/20210318.093709
DongHyun Song [Wed, 10 Mar 2021 09:09:59 +0000 (18:09 +0900)]
[Service] Check launcher process

Check launcher process if it is alive, otherwise stop the service.

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

Change-Id: Iac686bcf5ecc5acaec69599f11571a00f137de22
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "Minor refactor logic of quit for non-multitasking app" into tizen
Bot Blink [Wed, 17 Mar 2021 02:57:53 +0000 (02:57 +0000)]
Merge "Minor refactor logic of quit for non-multitasking app" into tizen

3 years agoMinor refactor logic of quit for non-multitasking app 97/255197/3
liwei [Mon, 15 Mar 2021 05:58:07 +0000 (13:58 +0800)]
Minor refactor logic of quit for non-multitasking app

1.If app run in background and not support multitasking,
app will quit immediatly, window will be desotried,
then exception will happen, so ahead timing of addon
event to avid window is null, ahead timing of addon event
contentDidFinishLoad.
2.Set timeout to 0 for app.quit(), then it will be a little
delay, it can avoid crash.

Change-Id: I8c0cc11f13c48384e5a3e1965a1fc27353e81a3a
Signed-off-by: liwei <wei90727.li@samsung.com>
3 years agoMerge "[VD] Add tizen 6.5 repository" into tizen submit/tizen/20210316.160018
Bot Blink [Tue, 16 Mar 2021 06:29:17 +0000 (06:29 +0000)]
Merge "[VD] Add tizen 6.5 repository" into tizen

3 years ago[VD] Add tizen 6.5 repository 70/255270/2
Youngsoo Choi [Tue, 16 Mar 2021 05:54:38 +0000 (22:54 -0700)]
[VD] Add tizen 6.5 repository

This adds tizen 6.5 repository.

* Build Command for tizen 6.5:
$ ./tizen/build/build_tv.sh

* Build Command for tizen 6.0:
$ ./tizen/build/build_tv.sh -P tztv_6.0_arm-nikem

Together with:
https://review.tizen.org/gerrit/255261

Change-Id: I6af8b4afa460a5bea155e2e4ef1fbea9aff72a8e
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[Service] Add MDE webapis 91/252291/4
Youngsoo Choi [Fri, 22 Jan 2021 03:33:49 +0000 (12:33 +0900)]
[Service] Add MDE webapis

This adds following MDE APIs to get device name and login id.

>> webapis.mde.getCurrentLoginId()
>> webapis.mde.getDeviceName()

Together with:
https://review.tizen.org/gerrit/252719

Change-Id: I070ca304e3b95c07c9426ad6f32b012c5c1f01ca
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[Service] Move dropThreadPrivilege() before app starting 60/254960/4 submit/tizen/20210311.160018
DongHyun Song [Thu, 11 Mar 2021 04:45:26 +0000 (13:45 +0900)]
[Service] Move dropThreadPrivilege() before app starting

If applying app smack label before of webapis related works, there
are fails of loading webapis due to smack deny.

Of course, at first time, before loading webapis, app label should
be applied on the node worker thread. But kind of modules are
checking the privileges with 'pid', not 'tid'
So, webapis loading are not loaded all successfully.

This patch makes to defer privilege drop after webapis related works.
(access_control_manager, device_api_router)

Change-Id: I89849e4271cddde2e22a6bca77f77b503ee30cd8
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years agoMerge "[VD] Remove timeout when app is quit in non-multitasking scenario" into tizen accepted/tizen/unified/20210311.151610 submit/tizen/20210308.160020 submit/tizen/20210309.024149 submit/tizen/20210309.054705 submit/tizen/20210310.030516
Bot Blink [Sun, 7 Mar 2021 23:40:39 +0000 (23:40 +0000)]
Merge "[VD] Remove timeout when app is quit in non-multitasking scenario" into tizen

3 years ago[VD] Remove timeout when app is quit in non-multitasking scenario 93/254593/5
liwei [Fri, 5 Mar 2021 03:09:41 +0000 (11:09 +0800)]
[VD] Remove timeout when app is quit in non-multitasking scenario

In TV, visibility change callback is moved earlier,so this
timeout is unncessary.

Timeout logic is added in
https://review.tizen.org/gerrit/208100/

Change-Id: I5467b688987a23f7b72cb0984b38671538da5f40
Signed-off-by: liwei <wei90727.li@samsung.com>
3 years agoMerge "[Service][VD] move mount/umount to JS side" into tizen accepted/tizen/unified/20210304.131212 submit/tizen/20210224.160019 submit/tizen/20210303.021943
Bot Blink [Wed, 24 Feb 2021 06:18:49 +0000 (06:18 +0000)]
Merge "[Service][VD] move mount/umount to JS side" into tizen

3 years agoMerge "Fix addon api and support chrome extension addon app" into tizen
Bot Blink [Wed, 24 Feb 2021 06:14:53 +0000 (06:14 +0000)]
Merge "Fix addon api and support chrome extension addon app" into tizen

3 years ago[Service][VD] move mount/umount to JS side 36/253836/5
DongHyun Song [Thu, 18 Feb 2021 09:50:38 +0000 (18:50 +0900)]
[Service][VD] move mount/umount to JS side

Explicitly handles mount/umount on JS side to simplify logic of
WRTServiceManager.

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

Change-Id: I89874f752d8113d6582a238acce9b0b328b635ab
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
3 years ago[M85][Service] Drop thread privilege of service app 66/251766/3 submit/tizen/20210219.160114
Youngsoo Choi [Tue, 19 Jan 2021 02:53:31 +0000 (11:53 +0900)]
[M85][Service] Drop thread privilege of service app

This drops the privilege of service app and sets it to User::Pkg::{PKG_ID}.
With this changes, the service app is under control of kernel smack rule.

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

Together with:
https://review.tizen.org/gerrit/251775

Change-Id: I0cd14f159b61b17dc395fd938144a0646529a2d9
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years agoFix addon api and support chrome extension addon app 74/253274/2
SangYong Park [Mon, 8 Feb 2021 05:51:30 +0000 (14:51 +0900)]
Fix addon api and support chrome extension addon app

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

Change-Id: Icc2c0533199bb075d1ecf64bc7d22ed39be4513b
Signed-off-by: SangYong Park <sy302.park@samsung.com>
3 years agoSet DEFAULT_TIZEN_VERSION to 6.5 30/252630/3 accepted/tizen/unified/20210208.061749 submit/tizen/20210202.160020 submit/tizen/20210205.044548
Youngsoo Choi [Mon, 1 Feb 2021 02:21:48 +0000 (11:21 +0900)]
Set DEFAULT_TIZEN_VERSION to 6.5

This sets DEFAULT_TIZEN_VERSION to 6.5 as per current tizen branch version.

Change-Id: I9d5d20edef1a89f5865909bb5eff691c49f7b264
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
3 years ago[M85][MDE] Support MDE interfaces 23/252423/1 submit/tizen/20210201.160019
Youngsoo Choi [Thu, 28 Jan 2021 02:51:40 +0000 (11:51 +0900)]
[M85][MDE] Support MDE interfaces

This supports MDE interfaces.

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

Together with:
https://review.tizen.org/gerrit/252383

Change-Id: Ifa6f5d96606979918d4b134abcd48405e5e4654b
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
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)

3 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>
3 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

3 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>
3 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>
3 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>
3 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

3 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>
3 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>