blob: 393b60845b5007a2d7075eeaafe072016310a73f [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function(testRunner) {
const {session, dp} = await testRunner.startWithFrameControl(
`Tests that renderer survives emulation of a very large viewport.`);
const response = await dp.Emulation.setDeviceMetricsOverride({
deviceScaleFactor: 1,
height: 1024,
width: 10000000,
mobile: false,
});
const virtualTimeTicksBase = (await dp.Emulation.setVirtualTimePolicy({
policy: 'pause'
})).result.virtualTimeTicksBase;
const virtualTimeChunk = 10 * 1000;
const frameTimeTicks = 100;
dp.Emulation.setVirtualTimePolicy(
{policy: 'pauseIfNetworkFetchesPending', budget: virtualTimeChunk});
await dp.Emulation.onceVirtualTimeBudgetExpired();
await dp.HeadlessExperimental.beginFrame({
frameTimeTicks: virtualTimeTicksBase + virtualTimeChunk,
interval: frameTimeTicks,
noDisplayUpdates: false
});
dp.Emulation.setVirtualTimePolicy(
{policy: 'pauseIfNetworkFetchesPending', budget: virtualTimeChunk});
await dp.Emulation.onceVirtualTimeBudgetExpired();
await dp.HeadlessExperimental.beginFrame({
frameTimeTicks: virtualTimeTicksBase + 2 * virtualTimeChunk,
interval: frameTimeTicks,
noDisplayUpdates: true
});
testRunner.completeTest();
})