OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 | 2 |
3 <html ng-app="Loader" ng-controller="Loader.Controller"> | 3 <html ng-app="Loader" ng-controller="Loader.Controller"> |
4 | 4 |
5 <head> | 5 <head> |
6 <title ng-bind="windowTitle"></title> | 6 <title ng-bind="windowTitle"></title> |
7 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js" ></script> | 7 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js" ></script> |
8 <script src="loader.js"></script> | 8 <script src="loader.js"></script> |
9 <link rel="stylesheet" href="view.css"> | 9 <link rel="stylesheet" href="view.css"> |
10 </head> | 10 </head> |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
242 </th> | 242 </th> |
243 <th> | 243 <th> |
244 <input type="radio" | 244 <input type="radio" |
245 name="sortColumnRadio" | 245 name="sortColumnRadio" |
246 value="actualHashDigest" | 246 value="actualHashDigest" |
247 ng-checked="(sortColumn == 'actualHashDigest')" | 247 ng-checked="(sortColumn == 'actualHashDigest')" |
248 ng-click="sortResultsBy('actualHashDigest')"> | 248 ng-click="sortResultsBy('actualHashDigest')"> |
249 actual image | 249 actual image |
250 </th> | 250 </th> |
251 <th> | 251 <th> |
252 <input type="radio" | |
253 name="sortColumnRadio" | |
254 value="percentDifferingPixels" | |
255 ng-checked="(sortColumn == 'percentDifferingPixels')" | |
256 ng-click="sortResultsBy('percentDifferingPixels')"> | |
257 differing pixels | |
258 </th> | |
259 <th> | |
260 <input type="radio" | |
261 name="sortColumnRadio" | |
262 value="weightedDiffMeasure" | |
263 ng-checked="(sortColumn == 'weightedDiffMeasure')" | |
264 ng-click="sortResultsBy('weightedDiffMeasure')"> | |
265 per-channel deltas | |
266 </th> | |
267 <th> | |
252 <!-- item-selection checkbox column --> | 268 <!-- item-selection checkbox column --> |
253 </th> | 269 </th> |
254 </tr> | 270 </tr> |
255 | 271 |
256 <!-- For most columns... if the user clicks on the cell, and we are on | 272 <!-- For most columns... if the user clicks on the cell, and we are on |
257 the default tab, update the filter to only show results with the | 273 the default tab, update the filter to only show results with the |
258 same value for this category. | 274 same value for this category. |
259 This is made a bit tricky by the fact that AngularJS expressions | 275 This is made a bit tricky by the fact that AngularJS expressions |
260 do not allow control flow statements. See | 276 do not allow control flow statements. See |
261 http://docs.angularjs.org/guide/expression --> | 277 http://docs.angularjs.org/guide/expression --> |
262 <tr ng-repeat="result in limitedTestData"> | 278 <tr ng-repeat="result in limitedTestData"> |
263 <td ng-click="(viewingTab != defaultTab) || showOnlyResultType(result. resultType)"> | 279 <td ng-click="(viewingTab != defaultTab) || showOnlyResultType(result. resultType)"> |
264 {{result.resultType}} | 280 {{result.resultType}} |
265 </td> | 281 </td> |
266 <td ng-repeat="categoryName in ['builder', 'test']" | 282 <td ng-repeat="categoryName in ['builder', 'test']" |
267 ng-click="(viewingTab != defaultTab) || setCategoryValueMatch(cate goryName, result[categoryName])"> | 283 ng-click="(viewingTab != defaultTab) || setCategoryValueMatch(cate goryName, result[categoryName])"> |
268 {{result[categoryName]}} | 284 {{result[categoryName]}} |
269 </td> | 285 </td> |
270 <td ng-click="(viewingTab != defaultTab) || showOnlyConfig(result.conf ig)"> | 286 <td ng-click="(viewingTab != defaultTab) || showOnlyConfig(result.conf ig)"> |
271 {{result.config}} | 287 {{result.config}} |
272 </td> | 288 </td> |
273 <td> | 289 <td> |
274 <a ng-repeat="bug in result['bugs']" | 290 <a ng-repeat="bug in result['bugs']" |
275 href="https://code.google.com/p/skia/issues/detail?id={{bug}}" | 291 href="https://code.google.com/p/skia/issues/detail?id={{bug}}" |
276 target="_blank"> | 292 target="_blank"> |
277 {{bug}} | 293 {{bug}} |
278 </a> | 294 </a> |
279 </td> | 295 </td> |
280 <td> | 296 |
297 <!-- expected image --> | |
298 <td valign="top"> | |
281 <a target="_blank" href="http://chromium-skia-gm.commondatastorage.g oogleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.expectedHa shDigest}}.png"> | 299 <a target="_blank" href="http://chromium-skia-gm.commondatastorage.g oogleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.expectedHa shDigest}}.png"> |
282 <img width="{{imageSize}}" src="http://chromium-skia-gm.commondata storage.googleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.e xpectedHashDigest}}.png"/> | 300 <img width="{{imageSize}}" src="http://chromium-skia-gm.commondata storage.googleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.e xpectedHashDigest}}.png"/> |
283 </a> | 301 </a> |
284 </td> | 302 </td> |
285 <td> | 303 |
304 <!-- actual image --> | |
305 <td valign="top"> | |
286 <a target="_blank" href="http://chromium-skia-gm.commondatastorage.g oogleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.actualHashDi gest}}.png"> | 306 <a target="_blank" href="http://chromium-skia-gm.commondatastorage.g oogleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.actualHashDi gest}}.png"> |
287 <img width="{{imageSize}}" src="http://chromium-skia-gm.commondata storage.googleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.act ualHashDigest}}.png"/> | 307 <img width="{{imageSize}}" src="http://chromium-skia-gm.commondata storage.googleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.act ualHashDigest}}.png"/> |
288 </a> | 308 </a> |
289 </td> | 309 </td> |
310 | |
311 <!-- whitediffs: every differing pixel shown in white --> | |
312 <td valign="top"> | |
313 <div ng-hide="result.expectedHashDigest == result.actualHashDigest"> | |
epoger
2013/11/07 21:11:54
Improved display of diff column cells for succeede
| |
314 <a target="_blank" href="/static/generated-images/whitediffs/{{res ult.expectedHashDigest}}-vs-{{result.actualHashDigest}}.png"> | |
315 <img width="{{imageSize}}" src="/static/generated-images/whitedi ffs/{{result.expectedHashDigest}}-vs-{{result.actualHashDigest}}.png"/> | |
316 </a><br> | |
317 {{result.percentDifferingPixels.toFixed(4)}}% | |
318 </div> | |
319 <div ng-hide="result.expectedHashDigest != result.actualHashDigest" | |
320 style="text-align:center"> | |
321 –none– | |
322 </div> | |
323 </td> | |
324 | |
325 <!-- diffs: per-channel RGB deltas --> | |
326 <td valign="top"> | |
327 <div ng-hide="result.expectedHashDigest == result.actualHashDigest"> | |
328 <a target="_blank" href="/static/generated-images/diffs/{{result.e xpectedHashDigest}}-vs-{{result.actualHashDigest}}.png"> | |
329 <img width="{{imageSize}}" src="/static/generated-images/diffs/{ {result.expectedHashDigest}}-vs-{{result.actualHashDigest}}.png"/> | |
330 </a><br> | |
331 {{result.weightedDiffMeasure.toFixed(4)}}% | |
332 </div> | |
333 <div ng-hide="result.expectedHashDigest != result.actualHashDigest" | |
334 style="text-align:center"> | |
335 –none– | |
336 </div> | |
337 </td> | |
338 | |
290 <td> | 339 <td> |
291 <input type="checkbox" | 340 <input type="checkbox" |
292 name="rowSelect" | 341 name="rowSelect" |
293 value="{{result.index}}" | 342 value="{{result.index}}" |
294 ng-checked="isValueInArray(result.index, selectedItems)" | 343 ng-checked="isValueInArray(result.index, selectedItems)" |
295 ng-click="toggleValueInArray(result.index, selectedItems)"> | 344 ng-click="toggleValueInArray(result.index, selectedItems)"> |
296 </tr> | 345 </tr> |
297 </table> <!-- results --> | 346 </table> <!-- results --> |
298 </td></tr></table> <!-- table holding results header + results table --> | 347 </td></tr></table> <!-- table holding results header + results table --> |
299 | 348 |
300 </div><!-- main display area of selected tab --> | 349 </div><!-- main display area of selected tab --> |
301 </div><!-- everything: hide until data is loaded --> | 350 </div><!-- everything: hide until data is loaded --> |
302 | 351 |
303 <!-- TODO(epoger): Can we get the base URLs (commondatastorage and | 352 <!-- TODO(epoger): Can we get the base URLs (commondatastorage and |
304 issues list) from | 353 issues list) from |
305 http://skia.googlecode.com/svn/buildbot/site_config/global_variables.json | 354 http://skia.googlecode.com/svn/buildbot/site_config/global_variables.json |
306 ? I tried importing the | 355 ? I tried importing the |
307 http://skia.googlecode.com/svn/buildbot/skia_tools.js script and using | 356 http://skia.googlecode.com/svn/buildbot/skia_tools.js script and using |
308 that to do so, but I got Access-Control-Allow-Origin errors. | 357 that to do so, but I got Access-Control-Allow-Origin errors. |
309 --> | 358 --> |
310 | 359 |
311 </body> | 360 </body> |
312 </html> | 361 </html> |
OLD | NEW |