Home | History | Annotate | Download | only in resources
      1 // Copyright (c) 2011 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 cr.define('enterpriseEnrollment', function() {
      6 
      7   function showScreen(screen) {
      8     var screens = ['login-screen', 'confirmation-screen'];
      9     for (var i = 0; i < screens.length; i++) {
     10       $(screens[i]).hidden = screens[i] != screen;
     11 
     12       // Hiding an iframe unfortunately doesn't remove it or its contents from
     13       // tabbing order. To hack around this:
     14       // - Hide the content document (if it exists), so nested elements won't
     15       //   receive focus and relinquish focus if they already have it.
     16       // - Set tabIndex = -1 on the iframe, so it doesn't get focused itself.
     17       //
     18       // See https://bugs.webkit.org/show_bug.cgi?id=55861
     19       iframes = $(screens[i]).getElementsByTagName('iframe');
     20       for (var j = 0; j < iframes.length; j++) {
     21         var display = '';
     22         if (screens[i] != screen) {
     23           display = 'none';
     24           iframes[j].tabIndex = -1;
     25         } else {
     26           display = 'block';
     27           iframes[j].removeAttribute('tabIndex');
     28         }
     29         if (iframes[j].contentDocument && iframes[j].contentDocument.body) {
     30           iframes[j].contentDocument.body.style.display = display;
     31         }
     32       }
     33     }
     34   }
     35 
     36   function showInitialScreen() {
     37     var args = JSON.parse(chrome.dialogArguments);
     38     showScreen(args.initialScreen);
     39   }
     40 
     41   return {
     42     showScreen: showScreen,
     43     showInitialScreen: showInitialScreen
     44   };
     45 });
     46 
     47 document.addEventListener('DOMContentLoaded',
     48                           enterpriseEnrollment.showInitialScreen);
     49