| Index: chrome/browser/resources/extensions/chromeos/kiosk_apps.js
|
| diff --git a/chrome/browser/resources/options/chromeos/kiosk_apps.js b/chrome/browser/resources/extensions/chromeos/kiosk_apps.js
|
| similarity index 65%
|
| rename from chrome/browser/resources/options/chromeos/kiosk_apps.js
|
| rename to chrome/browser/resources/extensions/chromeos/kiosk_apps.js
|
| index de2bfe878ac1009535924bbcf2afdbbae428e1a9..5b59d032a387f9f6c5be3eb7585ea98362ee0d14 100644
|
| --- a/chrome/browser/resources/options/chromeos/kiosk_apps.js
|
| +++ b/chrome/browser/resources/extensions/chromeos/kiosk_apps.js
|
| @@ -2,68 +2,48 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -cr.define('options', function() {
|
| - var OptionsPage = options.OptionsPage;
|
| -
|
| +cr.define('extensions', function() {
|
| /**
|
| * Encapsulated handling of ChromeOS kiosk apps options page.
|
| - * @extends {options.OptionsPage}
|
| * @constructor
|
| */
|
| function KioskAppsOverlay() {
|
| - OptionsPage.call(this,
|
| - 'kioskAppsOverlay',
|
| - loadTimeData.getString('kioskOverlayTitle'),
|
| - 'kiosk-apps-page');
|
| }
|
|
|
| cr.addSingletonGetter(KioskAppsOverlay);
|
|
|
| KioskAppsOverlay.prototype = {
|
| - __proto__: OptionsPage.prototype,
|
| -
|
| /**
|
| * Clear error timer id.
|
| * @type {?number}
|
| */
|
| clearErrorTimer_: null,
|
|
|
| - /** @override */
|
| - initializePage: function() {
|
| - // Call base class implementation to starts preference initialization.
|
| - OptionsPage.prototype.initializePage.call(this);
|
| + /**
|
| + * Initialize the page.
|
| + */
|
| + initialize: function() {
|
| + extensions.KioskAppList.decorate($('kiosk-app-list'));
|
|
|
| - options.KioskAppList.decorate($('kiosk-app-list'));
|
| + var overlay = $('kiosk-apps-page');
|
| + cr.ui.overlay.setupOverlay(overlay);
|
| + overlay.addEventListener('cancelOverlay', this.handleDismiss_.bind(this));
|
|
|
| $('kiosk-options-overlay-confirm').onclick =
|
| - OptionsPage.closeOverlay.bind(OptionsPage);
|
| + this.handleDismiss_.bind(this);
|
| $('kiosk-app-id-edit').addEventListener('keypress',
|
| this.handleAppIdInputKeyPressed_);
|
| -
|
| - Preferences.getInstance().addEventListener(
|
| - 'cros.accounts.deviceLocalAccounts',
|
| - this.loadAppsIfVisible_.bind(this));
|
| - Preferences.getInstance().addEventListener(
|
| - 'cros.accounts.deviceLocalAccountAutoLoginId',
|
| - this.loadAppsIfVisible_.bind(this));
|
| },
|
|
|
| - /** @override */
|
| + /*
|
| + * Invoked when the page is shown.
|
| + */
|
| didShowPage: function() {
|
| - this.loadAppsIfVisible_();
|
| + chrome.send('getKioskAppSettings');
|
| $('kiosk-app-id-edit').focus();
|
| },
|
|
|
| /**
|
| - * Loads the apps if the overlay page is visible.
|
| - * @private
|
| - */
|
| - loadAppsIfVisible_: function() {
|
| - if (this.visible)
|
| - chrome.send('getKioskApps');
|
| - },
|
| -
|
| - /**
|
| * Shows error for given app name/id and schedules it to cleared.
|
| * @param {!string} appName App name/id to show in error banner.
|
| */
|
| @@ -92,15 +72,26 @@ cr.define('options', function() {
|
| chrome.send('addKioskApp', [e.target.value]);
|
| e.target.value = '';
|
| }
|
| + },
|
| +
|
| + /**
|
| + * Handles the overlay being dismissed.
|
| + * @private
|
| + */
|
| + handleDismiss_: function() {
|
| + ExtensionSettings.showOverlay(null);
|
| }
|
| };
|
|
|
| /**
|
| * Sets apps to be displayed in kiosk-app-list.
|
| - * @param {!Array.<!Object>} apps An array of app info objects.
|
| + * @param {!Object.<{apps: !Array.<Object>, disableBailout: boolean}>}
|
| + * settings An object containing an array of app info objects and
|
| + * disable bailout shortcut flag.
|
| */
|
| - KioskAppsOverlay.setApps = function(apps) {
|
| - $('kiosk-app-list').setApps(apps);
|
| + KioskAppsOverlay.setSettings = function(settings) {
|
| + $('kiosk-app-list').setApps(settings.apps);
|
| + $('kiosk-disable-bailout-shortcut').checked = settings.disableBailout;
|
| };
|
|
|
| /**
|
|
|