Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(770)

Side by Side Diff: gm/rebaseline_server/static/view.html

Issue 59283006: rebaseline_server: add pixel diffs, and sorting by diff metrics (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: improve_self_test Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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 <a target="_blank" href="/static/generated-images/whitediffs/{{resul t.expectedHashDigest}}-vs-{{result.actualHashDigest}}.png">
314 <img width="{{imageSize}}" src="/static/generated-images/whitediff s/{{result.expectedHashDigest}}-vs-{{result.actualHashDigest}}.png"/>
315 </a><br>
316 {{result.percentDifferingPixels.toFixed(4)}}%
317 </td>
318
319 <!-- diffs: per-channel RGB deltas -->
320 <td valign="top">
321 <a target="_blank" href="/static/generated-images/diffs/{{result.exp ectedHashDigest}}-vs-{{result.actualHashDigest}}.png">
322 <img width="{{imageSize}}" src="/static/generated-images/diffs/{{r esult.expectedHashDigest}}-vs-{{result.actualHashDigest}}.png"/>
323 </a><br>
324 {{result.weightedDiffMeasure.toFixed(4)}}%
325 </td>
326
290 <td> 327 <td>
291 <input type="checkbox" 328 <input type="checkbox"
292 name="rowSelect" 329 name="rowSelect"
293 value="{{result.index}}" 330 value="{{result.index}}"
294 ng-checked="isValueInArray(result.index, selectedItems)" 331 ng-checked="isValueInArray(result.index, selectedItems)"
295 ng-click="toggleValueInArray(result.index, selectedItems)"> 332 ng-click="toggleValueInArray(result.index, selectedItems)">
296 </tr> 333 </tr>
297 </table> <!-- results --> 334 </table> <!-- results -->
298 </td></tr></table> <!-- table holding results header + results table --> 335 </td></tr></table> <!-- table holding results header + results table -->
299 336
300 </div><!-- main display area of selected tab --> 337 </div><!-- main display area of selected tab -->
301 </div><!-- everything: hide until data is loaded --> 338 </div><!-- everything: hide until data is loaded -->
302 339
303 <!-- TODO(epoger): Can we get the base URLs (commondatastorage and 340 <!-- TODO(epoger): Can we get the base URLs (commondatastorage and
304 issues list) from 341 issues list) from
305 http://skia.googlecode.com/svn/buildbot/site_config/global_variables.json 342 http://skia.googlecode.com/svn/buildbot/site_config/global_variables.json
306 ? I tried importing the 343 ? I tried importing the
307 http://skia.googlecode.com/svn/buildbot/skia_tools.js script and using 344 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. 345 that to do so, but I got Access-Control-Allow-Origin errors.
309 --> 346 -->
310 347
311 </body> 348 </body>
312 </html> 349 </html>
OLDNEW
« gm/rebaseline_server/server.py ('K') | « gm/rebaseline_server/static/loader.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698