https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 18fb4e01f0093e384c9c10fdd54a0f75f242b204 authored by Greg Whitworth on 28 June 2017, 01:37:45 UTC
Made changes based on analysis of tests that were <= 5 tests to a given url hash in flex
Tip revision: 18fb4e0
paint-visited.html
<!DOCTYPE html>
<style>
  a:visited {
    color:white;
  }
</style>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<a id="link" href="./">link</a>
<script>
/* This test ensures that an empty page is painted when there is an invisible visited link (that would be visible if the link was not visited). It's necessary that whether the page is painted or not does not depend on visitedness of the link. Otherwise the paint-timing API could be used to sniff whether a link has been visited or not. */
window.onload = function() {
  /* Convenience helper to get the link into the browsing history.
    Using a relative path because some browsers only allow replaceState within the same domain. */
  current_url = window.location.href;
  history.replaceState({}, "", "./");
  history.replaceState({}, "", current_url);
}
async_test(function(t) {
  function testPaintEntries() {
      const bufferedEntries = performance.getEntriesByType('paint');
      if (bufferedEntries.length < 2) {
          t.step_timeout(function() {
              testPaintEntries();
          }, 20);
          return;
      }
      t.step(function() {
          assert_equals(bufferedEntries.length, 2, "FP and FCP.");
          assert_equals(bufferedEntries[0].entryType, "paint");
          assert_equals(bufferedEntries[0].name, "first-paint");
          assert_equals(bufferedEntries[1].entryType, "paint");
          assert_equals(bufferedEntries[1].name, "first-contentful-paint");
          t.done();
      });
  }
  t.step(function() {
      testPaintEntries();
  });
}, "Visited-attack test to check existence of FP and FCP.");
</script>
</body>
back to top