Home | History | Annotate | Download | only in login
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 /**
      6  * @fileoverview Oobe reset screen implementation.
      7  */
      8 
      9 login.createScreen('AutolaunchScreen', 'autolaunch', function() {
     10   return {
     11     EXTERNAL_API: ['updateApp', 'confirmAutoLaunchForTesting'],
     12     /**
     13      * Header text of the screen.
     14      * @type {string}
     15      */
     16     get header() {
     17       return loadTimeData.getString('autolaunchTitle');
     18     },
     19 
     20     /**
     21      * Buttons in oobe wizard's button strip.
     22      * @type {array} Array of Buttons.
     23      */
     24     get buttons() {
     25       var buttons = [];
     26 
     27       var confirmButton = this.ownerDocument.createElement('button');
     28       confirmButton.id = 'autolaunch-confirm-button';
     29       confirmButton.textContent =
     30         loadTimeData.getString('autolaunchConfirmButton');
     31       confirmButton.addEventListener('click', function(e) {
     32         chrome.send('autolaunchOnConfirm');
     33         e.stopPropagation();
     34       });
     35       buttons.push(confirmButton);
     36 
     37       var cancelButton = this.ownerDocument.createElement('button');
     38       cancelButton.id = 'autolaunch-cancel-button';
     39       cancelButton.textContent =
     40           loadTimeData.getString('autolaunchCancelButton');
     41       cancelButton.addEventListener('click', function(e) {
     42         chrome.send('autolaunchOnCancel');
     43         e.stopPropagation();
     44       });
     45       buttons.push(cancelButton);
     46       return buttons;
     47     },
     48 
     49     /**
     50      * Event handler invoked when the page is shown and ready.
     51      */
     52     onBeforeShow: function() {
     53       chrome.send('autolaunchVisible');
     54     },
     55 
     56     /**
     57      * Returns a control which should receive an initial focus.
     58      */
     59     get defaultControl() {
     60       return $('autolaunch-cancel-button');
     61     },
     62 
     63     /**
     64      * Cancels the reset and drops the user back to the login screen.
     65      */
     66     cancel: function() {
     67       chrome.send('autolaunchOnCancel');
     68     },
     69 
     70     /**
     71      * Sets app to be displayed in the auto-launch warning.
     72      * @param {!Object} app An dictionary with app info.
     73      */
     74     updateApp: function(app) {
     75       if (app.appIconUrl && app.appIconUrl.length)
     76         $('autolaunch-app-icon').src = app.appIconUrl;
     77 
     78       $('autolaunch-app-name').innerText = app.appName;
     79     },
     80 
     81     /**
     82      * Initiates confirm/cancel response for testing.
     83      * @param {boolean} confirm True if the screen should confirm auto-launch.
     84      */
     85     confirmAutoLaunchForTesting: function(confirm) {
     86       var button = confirm ? $('autolaunch-confirm-button') :
     87                              $('autolaunch-cancel-button');
     88       var clickEvent = cr.doc.createEvent('Event');
     89       clickEvent.initEvent('click', true, true);
     90       button.dispatchEvent(clickEvent);
     91     }
     92   };
     93 });
     94 
     95 
     96 
     97