blob: ed9fe639e256aa7da0e37c2b24d525af27064245 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Oobe reset screen implementation.
*/
login.createScreen('AutolaunchScreen', 'autolaunch', function() {
return {
EXTERNAL_API: ['updateApp', 'confirmAutoLaunchForTesting'],
/**
* Header text of the screen.
* @type {string}
*/
get header() {
return loadTimeData.getString('autolaunchTitle');
},
/**
* Buttons in oobe wizard's button strip.
* @type {array} Array of Buttons.
*/
get buttons() {
var buttons = [];
var confirmButton = this.ownerDocument.createElement('button');
confirmButton.id = 'autolaunch-confirm-button';
confirmButton.textContent =
loadTimeData.getString('autolaunchConfirmButton');
confirmButton.addEventListener('click', function(e) {
chrome.send('autolaunchOnConfirm');
e.stopPropagation();
});
buttons.push(confirmButton);
var cancelButton = this.ownerDocument.createElement('button');
cancelButton.id = 'autolaunch-cancel-button';
cancelButton.textContent =
loadTimeData.getString('autolaunchCancelButton');
cancelButton.addEventListener('click', function(e) {
chrome.send('autolaunchOnCancel');
e.stopPropagation();
});
buttons.push(cancelButton);
return buttons;
},
/**
* Event handler invoked when the page is shown and ready.
*/
onBeforeShow: function() {
chrome.send('autolaunchVisible');
},
/**
* Returns a control which should receive an initial focus.
*/
get defaultControl() {
return $('autolaunch-cancel-button');
},
/**
* Cancels the reset and drops the user back to the login screen.
*/
cancel: function() {
chrome.send('autolaunchOnCancel');
},
/**
* Sets app to be displayed in the auto-launch warning.
* @param {!Object} app An dictionary with app info.
*/
updateApp: function(app) {
if (app.appIconUrl && app.appIconUrl.length)
$('autolaunch-app-icon').src = app.appIconUrl;
$('autolaunch-app-name').innerText = app.appName;
},
/**
* Initiates confirm/cancel response for testing.
* @param {boolean} confirm True if the screen should confirm auto-launch.
*/
confirmAutoLaunchForTesting: function(confirm) {
var button = confirm ? $('autolaunch-confirm-button') :
$('autolaunch-cancel-button');
var clickEvent = cr.doc.createEvent('Event');
clickEvent.initEvent('click', true, true);
button.dispatchEvent(clickEvent);
}
};
});