<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Long Animation Frame Timing: basic</title>
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/utils.js"></script>

<body>
<h1>Long Animation Frame: buffered</h1>
<div id="log"></div>
<script>
promise_test(async t => {
    busy_wait(very_long_frame_duration);
    await new Promise(resolve => t.step_timeout(resolve, 0));
    const result = await new Promise(resolve => {
        new PerformanceObserver(t.step_func(entries => {
            for (const e of entries.getEntries()) {
                if (e.duration >= very_long_frame_duration)
                    resolve("entry-found");
            }
        })).observe({type: 'long-animation-frame', buffered: true});
        t.step_timeout(() => resolve("timeout"), waiting_for_long_frame_timeout);
    });
    assert_equals(result, "entry-found");
}, 'PerformanceObserver with buffered flag can see previous long-animation-frame entries.');
</script>
</body>
