<html ng-app="diff_viewer">
  <head>
    <title>Image comparision failures for {{ slave_info.slave_name }}</title>
    <script type="text/javascript" src="https://storage.cloud.google.com/chromium-skia-gm/telemetry/hosted-files/angular.min.js"></script>
    <script type="text/javascript" src="https://storage.cloud.google.com/chromium-skia-gm/telemetry/hosted-files/diff_viewer.js"></script>
  </head>

  <body>
    <h2>Image comparision failures for {{ slave_info.slave_name }}</h2>
    <a href='{{ absolute_url }}list_of_all_files.html'>Back</a>
    <br/><br/>
    Click on the image in the 'Difference per pixel' column to magnify the other three images.<br/><br/><br/>

    <table border="1" cellpadding="5">
      <thead>
      <tr bgcolor="#CCCCFF">
        <th>Failed File</th>
        <th>NoPatch Image</th>
        <th>WithPatch Image</th>
        <th>Differing pixels in white</th>
        <th>Difference per pixel</th>
      </tr>
      </thead>
      <tbody>
        <tr ng-controller="ImageController">
          <td align="center">
            <a>{{ file_info.file_name }}</a><br/>
            <a href='{{ file_info.skp_location }}'>Download SKP</a>
          </td>
          <td>
            <a href='{{ gs_http_files_location_nopatch }}/{{ file_info.file_name }}' target="_blank">View Image</a>
            <br/>
            <img-compare type="baseline"
                         name="baseline"
                         src="{{ gs_http_files_location_nopatch }}/{{ file_info.file_name }}"
                         class="gm-image left-image" />
          </td>
          <td>
            <a href='{{ gs_http_files_location_withpatch }}/{{ file_info.file_name }}' target="_blank">View Image</a>
            <br/>
            <img-compare type="test"
                         name="test"
                         src="{{ gs_http_files_location_withpatch }}/{{ file_info.file_name }}"
                         class="gm-image right-image" />
          </td>
          <td>
            <a id='compare_value'>{{ file_info.percent_pixels_differing }}</a>% ({{ file_info.num_pixels_differing }})
            <a href='{{ gs_http_files_location_whitediffs }}/{{ file_info.diff_file_name }}' target="_blank">View Image</a>
            <br/>
            <img-compare type="differingPixelsInWhite"
                         class="left-image"
                         src="{{ gs_http_files_location_whitediffs }}/{{ file_info.diff_file_name }}" />
          </td>
          <td>
            <a id='compare_value'>{{ file_info.perceptual_diff }}</a>% (perceptual diff) | {{ file_info.max_diff_per_channel }}
            <a href='{{ gs_http_files_location_diffs }}/{{ file_info.diff_file_name }}' target="_blank">View Image</a>
            <br/>
            <img-compare type="differencePerPixel"
                         class="left-image"
                         src="{{ gs_http_files_location_diffs }}/{{ file_info.diff_file_name }}"
                         ng-mousedown="MagnifyDraw($event, true)"
                         ng-mousemove="MagnifyDraw($event, false)"
                         ng-mouseup="MagnifyEnd($event)"
                         ng-mouseleave="MagnifyEnd($event)" />
          </td>
        </tr>
      </tbody>
    </table>
  </body>
</html>
