| OLD | NEW |
| 1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
| 2 <html i18n-values="dir:textdirection;"> | 2 <html i18n-values="dir:textdirection;"> |
| 3 <head> | 3 <head> |
| 4 <meta charset="utf-8"> | 4 <meta charset="utf-8"> |
| 5 <meta http-equiv="X-WebKit-CSP" |
| 6 content="object-src 'none'; |
| 7 script-src chrome://resources 'self' 'unsafe-eval'"> |
| 5 <style> | 8 <style> |
| 6 body { | 9 body { |
| 7 margin: 10px; | 10 margin: 10px; |
| 8 min-width: 47em; | 11 min-width: 47em; |
| 9 } | 12 } |
| 10 | 13 |
| 11 a { | 14 a { |
| 12 color: blue; | 15 color: blue; |
| 13 font-size: 103%; | 16 font-size: 103%; |
| 14 } | 17 } |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 | 140 |
| 138 html[dir=rtl] .clearing { | 141 html[dir=rtl] .clearing { |
| 139 clear: right; | 142 clear: right; |
| 140 float: right; | 143 float: right; |
| 141 } | 144 } |
| 142 | 145 |
| 143 .datacell { | 146 .datacell { |
| 144 border-bottom: 1px solid #aaa; | 147 border-bottom: 1px solid #aaa; |
| 145 } | 148 } |
| 146 </style> | 149 </style> |
| 147 <script> | |
| 148 | |
| 149 /** | |
| 150 * This variable structure is here to document the structure that the template | |
| 151 * expects to correctly populate the page. | |
| 152 */ | |
| 153 var moduleListDataFormat = { | |
| 154 'moduleList': [ | |
| 155 { | |
| 156 'type': 'The type of module found', | |
| 157 'type_description': | |
| 158 'The type of module (string), defaults to blank for regular modules', | |
| 159 'status': 'The module status', | |
| 160 'location': 'The module path, not including filename', | |
| 161 'name': 'The name of the module', | |
| 162 'product_name': 'The name of the product the module belongs to', | |
| 163 'description': 'The module description', | |
| 164 'version': 'The module version', | |
| 165 'digital_signer': 'The signer of the digital certificate for the module', | |
| 166 'recommended_action': 'The help tips bitmask', | |
| 167 'possible_resolution': 'The help tips in string form', | |
| 168 'help_url': 'The link to the Help Center article' | |
| 169 } | |
| 170 ] | |
| 171 }; | |
| 172 | |
| 173 /** | |
| 174 * Takes the |moduleListData| input argument which represents data about | |
| 175 * the currently available modules and populates the html jstemplate | |
| 176 * with that data. It expects an object structure like the above. | |
| 177 * @param {Object} moduleListData Information about available modules | |
| 178 */ | |
| 179 function renderTemplate(moduleListData) { | |
| 180 // This is the javascript code that processes the template: | |
| 181 var input = new JsEvalContext(moduleListData); | |
| 182 var output = document.getElementById('modulesTemplate'); | |
| 183 jstProcess(input, output); | |
| 184 } | |
| 185 | |
| 186 /** | |
| 187 * Asks the C++ ConflictsDOMHandler to get details about the available modules | |
| 188 * and return detailed data about the configuration. The ConflictsDOMHandler | |
| 189 * should reply to returnModuleList() (below). | |
| 190 */ | |
| 191 function requestModuleListData() { | |
| 192 chrome.send('requestModuleList', []); | |
| 193 } | |
| 194 | |
| 195 /** | |
| 196 * Called by the WebUI to re-populate the page with data representing the | |
| 197 * current state of installed modules. | |
| 198 */ | |
| 199 function returnModuleList(moduleListData) { | |
| 200 renderTemplate(moduleListData); | |
| 201 document.getElementById('loading-message').style.visibility = 'hidden'; | |
| 202 document.getElementById('body-container').style.visibility = 'visible'; | |
| 203 } | |
| 204 | |
| 205 // Get data and have it displayed upon loading. | |
| 206 document.addEventListener('DOMContentLoaded', requestModuleListData); | |
| 207 | |
| 208 </script> | |
| 209 </head> | 150 </head> |
| 210 <body i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize"> | 151 <body i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize"> |
| 211 <div id="loading-message" i18n-content="loadingMessage">LOADING_MESSAGE</div> | 152 <div id="loading-message" i18n-content="loadingMessage">LOADING_MESSAGE</div> |
| 212 | 153 |
| 213 <div id="body-container" style="visibility:hidden"> | 154 <div id="body-container" style="visibility:hidden"> |
| 214 | 155 |
| 215 <div id="header"><h1 i18n-content="modulesLongTitle">TITLE</h1></div> | 156 <div id="header"><h1 i18n-content="modulesLongTitle">TITLE</h1></div> |
| 216 | 157 |
| 217 <div id="blurb-container"> | 158 <div id="blurb-container"> |
| 218 <span i18n-content="modulesBlurb">MODULES BLURB</span> | 159 <span i18n-content="modulesBlurb">MODULES BLURB</span> |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 </td> | 243 </td> |
| 303 </tr> | 244 </tr> |
| 304 </table> | 245 </table> |
| 305 </td> | 246 </td> |
| 306 </tr> | 247 </tr> |
| 307 </table> | 248 </table> |
| 308 </div> | 249 </div> |
| 309 </div> | 250 </div> |
| 310 </div> | 251 </div> |
| 311 </div> | 252 </div> |
| 253 <script src="chrome://conflicts/strings.js"></script> |
| 254 <script src="chrome://conflicts/conflicts.js"></script> |
| 255 <script src="chrome://resources/js/i18n_template.js"></script> |
| 256 <script src="chrome://resources/js/i18n_process.js"></script> |
| 257 <script src="chrome://resources/js/jstemplate_compiled.js"></script> |
| 312 </body> | 258 </body> |
| 313 </html> | 259 </html> |
| OLD | NEW |