diff --git a/inspector_overlay/common.ts b/inspector_overlay/common.ts index 3c2a754049..f3ba3b953e 100644 --- a/inspector_overlay/common.ts +++ b/inspector_overlay/common.ts @@ -38,6 +38,7 @@ interface ViewportSize { export interface ResetData { viewportSize: ViewportSize; + visualViewportSize?: ViewportSize; deviceScaleFactor: number; pageScaleFactor: number; pageZoomFactor: number; @@ -51,6 +52,7 @@ export interface ResetData { // Old logic is kept temporarily while the tools are being migrated. export class Overlay { protected viewportSize = {width: 800, height: 600}; + protected visualViewportSize?: ViewportSize; protected deviceScaleFactor = 1; protected emulationScaleFactor = 1; protected pageScaleFactor = 1; @@ -102,6 +104,7 @@ export class Overlay { reset(resetData?: ResetData) { if (resetData) { this.viewportSize = resetData.viewportSize; + this.visualViewportSize = resetData.visualViewportSize; this.deviceScaleFactor = resetData.deviceScaleFactor; this.pageScaleFactor = resetData.pageScaleFactor; this.pageZoomFactor = resetData.pageZoomFactor; diff --git a/inspector_overlay/tool_viewport_size.ts b/inspector_overlay/tool_viewport_size.ts index c7abe39dc4..bdc0c5d0e6 100644 --- a/inspector_overlay/tool_viewport_size.ts +++ b/inspector_overlay/tool_viewport_size.ts @@ -4,8 +4,12 @@ import {Overlay} from './common.js'; -const darkGridColor = 'rgba(0,0,0,0.7)'; -const gridBackgroundColor = 'rgba(255, 255, 255, 0.8)'; +const darkGridColor = 'rgba(0 0 0 / 0.7)'; +const gridBackgroundColor = 'rgba(255 255 255 / 0.8)'; + +function formatNumber(n: number): string { + return n % 1 ? n.toFixed(2) : String(n); +} export class ViewportSizeOverlay extends Overlay { install() { @@ -25,8 +29,8 @@ export class ViewportSizeOverlay extends Overlay { } drawViewSize() { - const viewportSize = this.viewportSize; - const text = `${viewportSize.width}px \u00D7 ${viewportSize.height}px`; + const viewportSize = this.visualViewportSize || this.viewportSize; + const text = `${formatNumber(viewportSize.width)}px \xD7 ${formatNumber(viewportSize.height)}px`; const canvasWidth = this.canvasWidth || 0; this.context.save(); this.context.font = `14px ${this.window.getComputedStyle(document.body).fontFamily}`;