New issue
Advanced search Search tips

Issue 800441 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Support for optional load of secondary extensions in kiosk

Project Member Reported by tbarzic@chromium.org, Jan 9 2018

Issue description

Currently all secondary extensions/apps declared by a kiosk app are loaded (and enabled) at the kiosk session startup.

This issue is to track the effort to allow the primary app to selectively enable secondary apps in a kiosk session. The feature requests consists of two parts:

1. Enable chrome.management API in kiosk (so the primary app can enable/disable secondary apps)
2. Amend kiosk.secondary_apps feature to declare a secondary app as disabled by default (i.e. an option to have the secondary kiosk app disabled at the kiosk session startup - the app would only be enabled if requested by the primary kiosk app)
 
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc4a81a9b419fc325b5208bf31bfb310880f8197

commit fc4a81a9b419fc325b5208bf31bfb310880f8197
Author: Toni Barzic <tbarzic@google.com>
Date: Wed Jan 31 01:48:59 2018

Enable management API in kiosk

Exposes chrome.management to the primary kiosk app.
Subset of the API is disabled in kiosk - the following methods will
return an error if called in kiosk:
 * launchApp
 * createAppShortcut
 * setLaunchType
 * generateAppForLink
 * uninstall
 * uninstallSelf

BUG=800441

Change-Id: Ie3cf691904f9f4442bac104c1a6b6c543d126553
Reviewed-on: https://chromium-review.googlesource.com/861210
Commit-Queue: Toni Barzic <tbarzic@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533154}
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/browser/app_mode/app_mode_utils.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/browser/app_mode/app_mode_utils.h
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/browser/chromeos/login/auto_launched_kiosk_browsertest.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/browser/extensions/chrome_extensions_browser_client.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/browser/extensions/chrome_extensions_browser_client.h
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/common/extensions/api/_permission_features.json
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/management_api/primary_app/key.pem
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/management_api/primary_app/src/main.js
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/management_api/primary_app/src/manifest.json
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/management_api/secondary_app/key.pem
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/management_api/secondary_app/src/main.js
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/management_api/secondary_app/src/manifest.json
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/webstore/downloads/faiboenfkkoaedoehhkjmenkhidadgje.crx
[add] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/chrome/test/data/chromeos/app_mode/webstore/downloads/lfaidgolgikbpapkmdhoppddflhaocnf.crx
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/browser/api/management/management_api.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/browser/api/management/management_api_constants.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/browser/api/management/management_api_constants.h
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/browser/extensions_browser_client.h
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/browser/test_extensions_browser_client.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/browser/test_extensions_browser_client.h
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/shell/browser/shell_extensions_browser_client.cc
[modify] https://crrev.com/fc4a81a9b419fc325b5208bf31bfb310880f8197/extensions/shell/browser/shell_extensions_browser_client.h

Project Member

Comment 3 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e0108ae8a9caf0f831a06c2928fb5e4147610a5

commit 8e0108ae8a9caf0f831a06c2928fb5e4147610a5
Author: Toni Barzic <tbarzic@google.com>
Date: Fri Feb 16 06:53:11 2018

Add enabled_on_launch property to secondary_kiosk_apps items

Adds "enabled_on_launch" optional property to "secondary_kiosk_apps"
items manifest type.
When set, the property controls whether the associated extension
should be enabled before kiosk app launches (i.e. before onLaunched
event is sent to the kiosk app):
  * when set to true, the associated secondary extension will be
    enabled on kiosk app launch - provided that the extension is not
    disabled due to a reason different than user action. E.g. if
    the extension is disabled due to a policy, the extension will
    remain disabled, but DISABLED_USER_ACTION will be removed from
    its disable reasons.
  * if set to false, the associated secondary extension will be
    disabled on kiosk app launch; DISABLED_USER_ACTION will be added to
    the extension's disable reasons.

If the property is not set, the secondary extension's enabled state
will not be changed as part of kiosk session startup.

BUG=800441

Change-Id: I0b44d1c05846d811d7840cbce65246c0dd7ea885
Reviewed-on: https://chromium-review.googlesource.com/868398
Commit-Queue: Toni Barzic <tbarzic@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537238}
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/chrome/browser/chromeos/app_mode/startup_app_launcher.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/chrome/browser/chromeos/app_mode/startup_app_launcher.h
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/chrome/browser/chromeos/app_mode/startup_app_launcher_unittest.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/chrome/browser/chromeos/app_mode/test_kiosk_extension_builder.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/chrome/browser/chromeos/app_mode/test_kiosk_extension_builder.h
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/api/_behavior_features.json
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/api/extensions_manifest_types.json
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/features/behavior_feature.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/features/behavior_feature.h
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/manifest_constants.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/manifest_constants.h
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/manifest_handlers/kiosk_mode_info.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/manifest_handlers/kiosk_mode_info.h
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/common/manifest_handlers/kiosk_mode_info_unittest.cc
[modify] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/test/data/manifest_tests/kiosk_secondary_app_multi_apps.json
[add] https://crrev.com/8e0108ae8a9caf0f831a06c2928fb5e4147610a5/extensions/test/data/manifest_tests/kiosk_secondary_app_multi_apps_repeated_entries.json

Sign in to add a comment