<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="timeout" content="long"> <title>Detect multiple soft navigations and ensure they buffer paint entries.</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/resources/testdriver.js"></script> <script src="/resources/testdriver-vendor.js"></script> <script src="resources/soft-navigation-helper.js"></script> </head> <body> <main id=main> <a id=link>Click me!</a> </main> <script> const link = document.getElementById("link"); testSoftNavigation({ addContent: async () => { await addImageToMain(); }, link: link, clicks: 4, extraValidations: async (entries, options)=>{ if (!performance.softNavPaintMetricsSupported) { return; } const paint_entries = await new Promise(resolve => { new PerformanceObserver(list => resolve(list.getEntries())).observe( {type: 'paint', buffered: true, includeSoftNavigationObservations: true}); }); assert_equals(paint_entries.length, 10); }, test: "Test that multiple soft navigation buffer paint entries"}); </script> </body> </html>