https://github.com/web-platform-tests/wpt
Revision 517c2ff02d79ae13dcd04477f3afee746d7db28e authored by James Graham on 01 February 2018, 22:20:19 UTC, committed by Geoffrey Sneddon on 15 March 2018, 15:09:43 UTC
This puts the main logic for handling testdriver callbacks into the
base class where it can be shared by multiple implemenations. It also
moves most of the interaction onto the Protocol object which can be
implemented on a per-executor basis.
1 parent 168b662
Raw File
Tip revision: 517c2ff02d79ae13dcd04477f3afee746d7db28e authored by James Graham on 01 February 2018, 22:20:19 UTC
Refactor testdriver implemenation.
Tip revision: 517c2ff
first-contentful-svg.html
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to SVG</title>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="svg"></div>

<script>
async_test(function (t) {
    const img = document.createElement("IMG");
    img.src = "resources/circle.svg";
    img.onload = function() {
        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, "There should be two paint timing instances.");
                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();
        });
    };
    document.getElementById('svg').appendChild(img);
}, "First contentful paint fires due to svg.");
</script>
</body>
</html>
back to top