Home | History | Annotate | Download | only in resources
      1 // Copyright (c) 2012 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 var nacl = nacl || {};
      6 
      7 (function() {
      8   /**
      9    * Takes the |moduleListData| input argument which represents data about
     10    * the currently available modules and populates the html jstemplate
     11    * with that data. It expects an object structure like the above.
     12    * @param {Object} moduleListData Information about available modules
     13    */
     14   function renderTemplate(moduleListData) {
     15     // Process the template.
     16     var input = new JsEvalContext(moduleListData);
     17     var output = $('naclInfoTemplate');
     18     jstProcess(input, output);
     19   };
     20 
     21   /**
     22    * Asks the C++ NaClUIDOMHandler to get details about the NaCl and return
     23    * the data in returnNaClInfo() (below).
     24    */
     25   function requestNaClInfo() {
     26     chrome.send('requestNaClInfo');
     27   };
     28 
     29   /**
     30    * Called by the WebUI to re-populate the page with data representing the
     31    * current state of NaCl.
     32    * @param {Object} moduleListData Information about available modules
     33    */
     34   nacl.returnNaClInfo = function(moduleListData) {
     35     $('loading-message').hidden = 'hidden';
     36     $('body-container').hidden = '';
     37     renderTemplate(moduleListData);
     38   };
     39 
     40   // Get data and have it displayed upon loading.
     41   document.addEventListener('DOMContentLoaded', requestNaClInfo);
     42 })();
     43