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 |