Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Issue 1301323005: Implement kiosk multiple apps feature. (Closed)

Created:
5 years, 3 months ago by jennyz
Modified:
5 years, 3 months ago
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, dzhioev+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org, extensions-reviews_chromium.org, Devlin
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement kiosk multiple apps feature. This includes: 1. Add new manifest keys in the manifest file of the primary kiosk app to configure secondary kiosk apps. 2. Implement the work flow for primary kiosk to download and install secondary apps before its first time launch. 3. Expand FakeCWS to support multiple kiosk apps' update check. 4. Move the hard coded local extension cache director to chromeos path service so that it can be created in testing environment. BUG=510217 TBR=stevenjb Committed: https://crrev.com/26b7f4356b905831f152cebb28c08a16ad72d80c Cr-Commit-Position: refs/heads/master@{#347237}

Patch Set 1 #

Patch Set 2 : Rebase. #

Total comments: 38

Patch Set 3 : Address code review comments. #

Patch Set 4 : Fix a nit. #

Total comments: 6

Patch Set 5 : Fix nits. #

Total comments: 13

Patch Set 6 : Merge KioskSecondaryAppsInfo into KioskModeInfo. #

Patch Set 7 : Remove the special case for disabling external cache for kiosk mode. #

Total comments: 8

Patch Set 8 : Add new kiosk manifest key into _manifest_features.json,etc. #

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+763 lines, -105 lines) Patch
M chrome/browser/chromeos/app_mode/fake_cws.h View 1 2 3 chunks +7 lines, -9 lines 0 comments Download
M chrome/browser/chromeos/app_mode/fake_cws.cc View 1 2 6 chunks +88 lines, -48 lines 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_manager.h View 3 chunks +17 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_manager.cc View 1 2 4 chunks +36 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/app_mode/startup_app_launcher.h View 1 2 3 4 5 2 chunks +12 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/app_mode/startup_app_launcher.cc View 1 2 3 4 5 5 chunks +96 lines, -17 lines 0 comments Download
M chrome/browser/chromeos/login/kiosk_browsertest.cc View 1 2 9 chunks +149 lines, -0 lines 0 comments Download
M chrome/browser/extensions/external_provider_impl.cc View 1 2 3 4 2 chunks +17 lines, -2 lines 0 comments Download
M chrome/browser/extensions/updater/chromeos_extension_cache_delegate.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/updater/chromeos_extension_cache_delegate.cc View 1 chunk +5 lines, -7 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v1/app_main.html View 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v1/icon-128.png View Binary file 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v1/icon-16.png View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v1/main.js View 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v1/manifest.json View 1 chunk +24 lines, -0 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v2/app_main.html View 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v2/icon-128.png View Binary file 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v2/icon-16.png View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v2/main.js View 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v2/manifest.json View 1 chunk +23 lines, -0 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v3/app_main.html View 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v3/icon-128.png View Binary file 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v3/icon-16.png View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v3/main.js View 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/primary_app/v3/manifest.json View 1 chunk +25 lines, -0 lines 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_1/app_main.html View 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_1/icon-128.png View Binary file 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_1/icon-16.png View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_1/main.js View 1 chunk +11 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_1/manifest.json View 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_2/app_main.html View 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_2/icon-128.png View Binary file 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_2/icon-16.png View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_2/main.js View 1 chunk +11 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_2/manifest.json View 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_3/app_main.html View 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_3/icon-128.png View Binary file 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_3/icon-16.png View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_3/main.js View 1 chunk +11 lines, -0 lines 0 comments Download
A + chrome/test/data/chromeos/app_mode/multi_app_kiosk/src/secondary_app_3/manifest.json View 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/chromeos/app_mode/webstore/downloads/aabnpdpieclcikafhdkkpldcaodmfoai-1.0.0.crx View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/webstore/downloads/ceobkcclegcliomogfoeoheahogoecgl-1.0.0.crx View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/webstore/downloads/ceobkcclegcliomogfoeoheahogoecgl-2.0.0-1app.crx View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/webstore/downloads/ceobkcclegcliomogfoeoheahogoecgl-3.0.0-3app.crx View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/webstore/downloads/fiehokkcgaojmbhfhlpiheggjhaedjoc-1.0.0.crx View Binary file 0 comments Download
A chrome/test/data/chromeos/app_mode/webstore/downloads/ihplaomghjbeafnpnjkhppmfpnmdihgd-1.0.0.crx View Binary file 0 comments Download
M chromeos/chromeos_paths.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M chromeos/chromeos_paths.cc View 3 chunks +9 lines, -0 lines 0 comments Download
M extensions/common/api/_manifest_features.json View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M extensions/common/api/extensions_manifest_types.json View 1 2 3 1 chunk +15 lines, -1 line 0 comments Download
M extensions/common/manifest_constants.h View 2 chunks +4 lines, -0 lines 0 comments Download
M extensions/common/manifest_constants.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M extensions/common/manifest_handlers/kiosk_mode_info.h View 1 2 3 4 5 6 7 1 chunk +13 lines, -2 lines 0 comments Download
M extensions/common/manifest_handlers/kiosk_mode_info.cc View 1 2 3 4 5 6 7 2 chunks +46 lines, -8 lines 0 comments Download
A extensions/common/manifest_handlers/kiosk_mode_info_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +35 lines, -0 lines 0 comments Download
M extensions/extensions_tests.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
A extensions/test/data/manifest_tests/kiosk_secondary_app_multi_apps.json View 1 chunk +24 lines, -0 lines 0 comments Download
A + extensions/test/data/manifest_tests/kiosk_secondary_app_no_secondary_app.json View 1 chunk +1 line, -1 line 0 comments Download
M tools/json_schema_compiler/h_generator.py View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 35 (12 generated)
jennyz
xiyuan: Please review all. Sorry this is pretty big. kalman: Please review the files under ...
5 years, 3 months ago (2015-08-26 00:37:09 UTC) #2
not at google - send to devlin
https://codereview.chromium.org/1301323005/diff/20001/chrome/browser/chromeos/app_mode/fake_cws.cc File chrome/browser/chromeos/app_mode/fake_cws.cc (right): https://codereview.chromium.org/1301323005/diff/20001/chrome/browser/chromeos/app_mode/fake_cws.cc#newcode69 chrome/browser/chromeos/app_mode/fake_cws.cc:69: FakeCWS::FakeCWS() : update_check_count_(0) { Is somebody reviewing this file ...
5 years, 3 months ago (2015-08-26 17:53:59 UTC) #3
xiyuan
https://codereview.chromium.org/1301323005/diff/20001/chrome/browser/chromeos/app_mode/fake_cws.cc File chrome/browser/chromeos/app_mode/fake_cws.cc (left): https://codereview.chromium.org/1301323005/diff/20001/chrome/browser/chromeos/app_mode/fake_cws.cc#oldcode43 chrome/browser/chromeos/app_mode/fake_cws.cc:43: no_update_template_ = "chromeos/app_mode/webstore/update_check/no_update.xml"; nit: remove the two files since ...
5 years, 3 months ago (2015-08-26 18:16:17 UTC) #4
jennyz
https://codereview.chromium.org/1301323005/diff/20001/chrome/browser/chromeos/app_mode/fake_cws.cc File chrome/browser/chromeos/app_mode/fake_cws.cc (right): https://codereview.chromium.org/1301323005/diff/20001/chrome/browser/chromeos/app_mode/fake_cws.cc#newcode35 chrome/browser/chromeos/app_mode/fake_cws.cc:35: "<updatecheck status=\"noupdate\"/></app>"; On 2015/08/26 18:16:16, xiyuan wrote: > nit: ...
5 years, 3 months ago (2015-08-28 18:24:09 UTC) #5
xiyuan
LGTM https://codereview.chromium.org/1301323005/diff/60001/chrome/browser/extensions/external_provider_impl.cc File chrome/browser/extensions/external_provider_impl.cc (right): https://codereview.chromium.org/1301323005/diff/60001/chrome/browser/extensions/external_provider_impl.cc#newcode497 chrome/browser/extensions/external_provider_impl.cc:497: if (kiosk_app_manager && !kiosk_app_manager->external_loader_created()) { nit: |kiosk_app_manager| check ...
5 years, 3 months ago (2015-08-28 20:22:08 UTC) #6
jennyz
https://codereview.chromium.org/1301323005/diff/60001/chrome/browser/extensions/external_provider_impl.cc File chrome/browser/extensions/external_provider_impl.cc (right): https://codereview.chromium.org/1301323005/diff/60001/chrome/browser/extensions/external_provider_impl.cc#newcode497 chrome/browser/extensions/external_provider_impl.cc:497: if (kiosk_app_manager && !kiosk_app_manager->external_loader_created()) { On 2015/08/28 20:22:08, xiyuan ...
5 years, 3 months ago (2015-08-28 20:49:55 UTC) #7
not at google - send to devlin
This needs an entry in a manifest_features_ file (I'd look at what kiosk_only etc do). ...
5 years, 3 months ago (2015-08-31 18:11:52 UTC) #8
jennyz
https://codereview.chromium.org/1301323005/diff/80001/chrome/browser/extensions/extension_service.cc File chrome/browser/extensions/extension_service.cc (right): https://codereview.chromium.org/1301323005/diff/80001/chrome/browser/extensions/extension_service.cc#newcode208 chrome/browser/extensions/extension_service.cc:208: // and should not be shared across. On 2015/08/31 ...
5 years, 3 months ago (2015-08-31 23:57:25 UTC) #9
jennyz
https://codereview.chromium.org/1301323005/diff/80001/chrome/browser/extensions/extension_service.cc File chrome/browser/extensions/extension_service.cc (right): https://codereview.chromium.org/1301323005/diff/80001/chrome/browser/extensions/extension_service.cc#newcode210 chrome/browser/extensions/extension_service.cc:210: !extensions::ExtensionsBrowserClient::Get()->IsRunningInForcedAppMode()) { On 2015/08/31 18:11:52, kalman wrote: > Without ...
5 years, 3 months ago (2015-09-01 16:53:09 UTC) #10
not at google - send to devlin
Mostly lg, but did you see my comment about the entry in _manifest_features.json? See how ...
5 years, 3 months ago (2015-09-01 22:51:11 UTC) #11
jennyz
I added the kiosk_secondary_apps manifest key into _manifest_features.json, and marked it for "stable" channel, since ...
5 years, 3 months ago (2015-09-02 21:42:23 UTC) #12
not at google - send to devlin
On 2015/09/02 21:42:23, jennyz wrote: > I added the kiosk_secondary_apps manifest key into _manifest_features.json, and ...
5 years, 3 months ago (2015-09-02 21:44:39 UTC) #13
not at google - send to devlin
lgtm
5 years, 3 months ago (2015-09-02 21:45:36 UTC) #14
jennyz
5 years, 3 months ago (2015-09-02 22:19:15 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1301323005/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1301323005/140001
5 years, 3 months ago (2015-09-02 22:19:49 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/93534)
5 years, 3 months ago (2015-09-02 22:56:06 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1301323005/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1301323005/160001
5 years, 3 months ago (2015-09-02 23:30:05 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/93565)
5 years, 3 months ago (2015-09-03 00:02:46 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1301323005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1301323005/180001
5 years, 3 months ago (2015-09-03 15:16:45 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/48757)
5 years, 3 months ago (2015-09-03 16:21:41 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1301323005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1301323005/180001
5 years, 3 months ago (2015-09-03 16:50:29 UTC) #33
commit-bot: I haz the power
Committed patchset #9 (id:180001)
5 years, 3 months ago (2015-09-03 20:59:34 UTC) #34
commit-bot: I haz the power
5 years, 3 months ago (2015-09-03 21:00:13 UTC) #35
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/26b7f4356b905831f152cebb28c08a16ad72d80c
Cr-Commit-Position: refs/heads/master@{#347237}

Powered by Google App Engine
This is Rietveld 408576698