- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / resources / about_conflicts.js
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 /**
6 * This variable structure is here to document the structure that the template
7 * expects to correctly populate the page.
8 */
9 var moduleListDataFormat = {
10   'moduleList': [
11   {
12     'type': 'The type of module found',
13     'type_description':
14     'The type of module (string), defaults to blank for regular modules',
15     'status': 'The module status',
16     'location': 'The module path, not including filename',
17     'name': 'The name of the module',
18     'product_name': 'The name of the product the module belongs to',
19     'description': 'The module description',
20     'version': 'The module version',
21     'digital_signer': 'The signer of the digital certificate for the module',
22     'recommended_action': 'The help tips bitmask',
23     'possible_resolution': 'The help tips in string form',
24     'help_url': 'The link to the Help Center article'
25   }
26 ]
27 };
28
29 /**
30 * Takes the |moduleListData| input argument which represents data about
31 * the currently available modules and populates the html jstemplate
32 * with that data. It expects an object structure like the above.
33 * @param {Object} moduleListData Information about available modules.
34 */
35 function renderTemplate(moduleListData) {
36   // This is the javascript code that processes the template:
37   var input = new JsEvalContext(moduleListData);
38   var output = $('modulesTemplate');
39   jstProcess(input, output);
40 }
41
42 /**
43 * Asks the C++ ConflictsDOMHandler to get details about the available modules
44 * and return detailed data about the configuration. The ConflictsDOMHandler
45 * should reply to returnModuleList() (below).
46 */
47 function requestModuleListData() {
48   chrome.send('requestModuleList');
49 }
50
51 /**
52 * Called by the WebUI to re-populate the page with data representing the
53 * current state of installed modules.
54 * @param {Object} moduleListData Information about available modules.
55 */
56 function returnModuleList(moduleListData) {
57   renderTemplate(moduleListData);
58   $('loading-message').style.visibility = 'hidden';
59   $('body-container').style.visibility = 'visible';
60 }
61
62 // Get data and have it displayed upon loading.
63 document.addEventListener('DOMContentLoaded', requestModuleListData);