UNPKG

chrome-devtools-frontend

Version:
48 lines (42 loc) 1.4 kB
// Copyright 2023 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import { type Step, type SetViewportStep, type EmulateNetworkConditionsStep, StepType, } from './Schema.js'; import * as PuppeteerReplay from '../../../third_party/puppeteer-replay/puppeteer-replay.js'; export function createViewportStep(viewport: { clientWidth: number, clientHeight: number, }): SetViewportStep { return { type: StepType.SetViewport, width: viewport.clientWidth, height: viewport.clientHeight, // TODO read real parameters here deviceScaleFactor: 1, isMobile: false, hasTouch: false, isLandscape: false, }; } export function createEmulateNetworkConditionsStep(conditions: { download: number, upload: number, latency: number, }): EmulateNetworkConditionsStep { return {type: StepType.EmulateNetworkConditions, ...conditions}; } export function areSelectorsEqual(stepA: Step, stepB: Step): boolean { if ('selectors' in stepA && 'selectors' in stepB) { return JSON.stringify(stepA.selectors) === JSON.stringify(stepB.selectors); } return !('selectors' in stepA) && !('selectors' in stepB); } export const minTimeout = 1; export const maxTimeout = 30000; export const parse = PuppeteerReplay.parse; export const parseStep = PuppeteerReplay.parseStep;