Commit 087f9b56 authored by Nicolás Peña Moreno's avatar Nicolás Peña Moreno Committed by Commit Bot

Add test for FCP vs LCP

This CL adds a test where FCP must be equal to LCP for a website that
has a single contentful element: a <p>. It is currently flaky in Chrome.

Bug: 1015130
Change-Id: I0da2d7b15ac72fe2f0964043f01c49b089d201a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865540
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: default avatarTom McKee <tommckee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706952}
parent 330d4958
...@@ -5590,6 +5590,10 @@ crbug.com/919204 external/wpt/scroll-to-text-fragment/scroll-to-text-fragment.ht ...@@ -5590,6 +5590,10 @@ crbug.com/919204 external/wpt/scroll-to-text-fragment/scroll-to-text-fragment.ht
crbug.com/999209 virtual/lazyload-image/http/tests/lazyload/style-dimension.html [ Timeout ] crbug.com/999209 virtual/lazyload-image/http/tests/lazyload/style-dimension.html [ Timeout ]
crbug.com/1015130 external/wpt/largest-contentful-paint/first-paint-equals-lcp-text.html [ Failure Pass ]
crbug.com/1015130 virtual/scalefactor200/external/wpt/largest-contentful-paint/first-paint-equals-lcp-text.html [ Failure Pass ]
crbug.com/1015130 virtual/scalefactor200withoutzoom/external/wpt/largest-contentful-paint/first-paint-equals-lcp-text.html [ Failure Pass ]
# These tests are missing test automation # These tests are missing test automation
crbug.com/998917 external/wpt/native-file-system/native_FileSystemDirectoryHandle-getDirectory.tentative.https.manual.window.html [ Skip ] crbug.com/998917 external/wpt/native-file-system/native_FileSystemDirectoryHandle-getDirectory.tentative.https.manual.window.html [ Skip ]
crbug.com/998917 external/wpt/native-file-system/native_FileSystemDirectoryHandle-getEntries.tentative.https.manual.window.html [ Skip ] crbug.com/998917 external/wpt/native-file-system/native_FileSystemDirectoryHandle-getEntries.tentative.https.manual.window.html [ Skip ]
......
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>LargestContentfulPaint compared with FirstPaint and FirstContentfulPaint on single text page.</title>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(function (t) {
if (!window.PerformancePaintTiming) {
assert_unreached("PerformancePaintTiming is not implemented");
}
if (!window.LargestContentfulPaint) {
assert_unreached("LargestContentfulPaint is not implemented");
}
let firstPaintTime = 0;
let firstContentfulPaintTime = 0;
let largestContentfulPaintTime = 0;
const observer = new PerformanceObserver(
t.step_func(function(entryList) {
entryList.getEntries().forEach(entry => {
if (entry.name === 'first-paint') {
assert_equals(firstPaintTime, 0, 'Only one first-paint entry.');
assert_equals(entry.entryType, 'paint');
firstPaintTime = entry.startTime;
} else if (entry.name === 'first-contentful-paint') {
assert_equals(firstContentfulPaintTime, 0, 'Only one first-contentful-paint entry.');
assert_equals(entry.entryType, 'paint');
firstContentfulPaintTime = entry.startTime;
} else {
assert_equals(largestContentfulPaintTime, 0, 'Only one largest-contentful-paint entry.');
assert_equals(entry.entryType, 'largest-contentful-paint');
largestContentfulPaintTime = entry.renderTime;
}
if (firstPaintTime && firstContentfulPaintTime && largestContentfulPaintTime) {
assert_less_than_equal(firstPaintTime, firstContentfulPaintTime, 'FP should be less than or equal to FCP.');
assert_equals(firstContentfulPaintTime, largestContentfulPaintTime, 'FCP should equal LCP.');
t.done();
}
});
})
);
observer.observe({type: 'largest-contentful-paint', buffered: true});
observer.observe({type: 'paint', buffered: true});
}, 'FCP and LCP are the same when there is a single text element in the page.');
</script>
<p>Text</p>
</body>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment