15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Takes the |moduleListData| input argument which represents data about 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* the currently available modules and populates the html jstemplate 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* with that data. It expects an object structure like the above. 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* @param {Object} moduleListData Information about available modules 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function renderTemplate(moduleListData) { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // This is the javascript code that processes the template: 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var input = new JsEvalContext(moduleListData); 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var output = $('flashInfoTemplate'); 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) jstProcess(input, output); 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Asks the C++ FlashUIDOMHandler to get details about the Flash and return 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* the data in returnFlashInfo() (below). 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function requestFlashInfo() { 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('requestFlashInfo'); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Called by the WebUI to re-populate the page with data representing the 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* current state of Flash. 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* @param {Object} moduleListData Information about available modules. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function returnFlashInfo(moduleListData) { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) $('loading-message').style.visibility = 'hidden'; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) $('body-container').style.visibility = 'visible'; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) renderTemplate(moduleListData); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Get data and have it displayed upon loading. 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)document.addEventListener('DOMContentLoaded', requestFlashInfo); 39