Skip to content

[Request for feedback] Per-window control over borderless mode #118

@edman

Description

@edman

We would like to allow Isolated Web Apps (IWAs) to display borderless windows. In this context, a borderless window is an app window displayed without the usual OS or user agent "decoration", such as the title bar, action buttons (maximize, minimize, close), or borders around the window. The web content is allowed full control over the window content.

The current proposal in the incubations spec introduces borderless as a general display_mode. That approach has the limitation that all windows of the IWA become borderless. Ideally an IWA can specify that some of its windows are borderless, not necessarily all of them.

Our new proposal is to do so via a manifest member, borderless_url_patterns, that accepts URL patterns as described in the URL pattern spec. This field describes the set of URLs that should be borderless.

Example IWA manifest.webmanifest:

{
  "display": "standalone",
  "permissions_policy": { "window-management": ["self"] },
  "borderless_url_patterns": [
    "/stream/*",
    { "pathname": "/popups/custom-ui/*" }
  ]
  ...
}

When a new window initial URL matches a pattern in borderless_url_patterns, it will be created in borderless display mode from the start, preventing any "flicker" where the new window briefly shows some UI element other than the app's.

See the explainer for more information.

We welcome community feedback on this proposal.

cc @dmurph

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions