v150 · Window Management

Resizable Lock

Where implemented for an installed top-level app window, call await window.setResizable(false), then observe the result through the (resizable: true) media feature. Per the spec, user drag-resize is blocked while Web APIs like window.resizeTo() still work — the demo tests both and reports honestly.

To test the current experimental implementation: enable chrome://flags/#enable-desktop-pwas-additional-windowing-controls (or --enable-blink-features=DesktopPWAsAdditionalWindowingControls), install this site as a desktop app, and grant the window-management permission. ChromeStatus currently records no milestone. setResizable() only affects top-level app windows, never iframes.
window.setResizable: probing…
(resizable: true) matches: probing…
Effective state: reading…
No calls yet — lock or unlock the window above.
// Make the window fixed-size (installed app + window-management permission):
try {
  await window.setResizable(false);
} catch (error) {
  console.log('Setting a fixed size window failed:', error.name);
}

// React in CSS to the resizable state (no permission needed):
@media (resizable: false) {
  .resize-grip { display: none; }
}

// The block only stops USER resizing — script resizing still works:
window.resizeTo(900, 640);  // remains API-allowed; effect still depends on context/OS

see also