Intent to Prototype: Borderless Mode for Installed Desktop Web Apps

858 views
Skip to first unread message

Sonja Laurila

unread,
Jul 21, 2022, 7:54:53 AM7/21/22
to blink-dev

Contact emails

lau...@chromium.org (preferably google.com), isandrk@chromium.org


Explainer

https://github.com/sonkkeli/borderless/blob/main/EXPLAINER.md 


Specification

Not ready yet but on-going here go/borderless-design-doc (googlers-only)


TAG review

Not yet filed.


Blink component

N/A, this feature is not large enough to need one.


Summary

When borderless mode is enabled for installed desktop web apps, the app's client area is extended to cover the entire window - including the title bar area and windowing control buttons (close, maximize/restore, minimize). The web app developer is responsible for drawing and input-handling for the entire window. (See go/additional-windowing-controls regarding additional windowing controls.)


Motivation

Developers want to customize the title bar area so their PWAs feel more like native apps. 


Risks

Interoperability and Compatibility

The feature mostly re-uses the capabilities built with window-controls-overlay (e.g. draggable regions) but additionally it involves new web app manifest entry and changes to frame (hiding the native title bar).


Firefox: No public signals 

Edge: No public signals

Safari: No public signals 

Web developers: Strong positive - partners 


Ergonomics

The changes associated with this feature will only be enabled for PWAs that opt-in to it, so there are minimal risks posed to the browser as a whole. A PWA that opts-in to the feature should also have minimal ergonomics risk since the manifest already needs to be parsed on startup to determine the correct display mode (which then gets enabled when the Window Management permission has been given), so adding one extra manifest check on startup should have minimal impact.


Security 

The major risk is that by giving sites control of the top of the app window, it allows developers to spoof content in what was previously a trusted, UA-controlled region. To minimize the risk of spoofing, to enter borderless mode Window Management permission must be granted and the app’s origin will be shown in the app settings. When navigating out of scope of the web app will bring back the title bar and show a custom tab bar containing the current origin with a close button returning back to the origin.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

No, we are only targeting desktop OSs.


Is this feature fully tested by web-platform-tests

No, N/A not implemented. There will be browser tests in web_app_frame_toolbar_browsertest.cc.


Feature flag (until launch)

chrome://flags#enable-desktop-pwas-borderless 


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5551475195904000

Thomas Steiner

unread,
Jul 25, 2022, 7:23:26 AM7/25/22
to Sonja Laurila, blink-dev
I tried this with on 106.0.5199.0 (Official Build) canary (arm64)  with the chrome://flags/#enable-desktop-pwas-borderless set, but it failed the installability checks:

Screenshot 2022-07-25 at 13.21.24.png

Is this not enabled on macOS yet?

Thanks,
Tom


François Beaufort

unread,
Jul 25, 2022, 7:41:08 AM7/25/22
to Thomas Steiner, Sonja Laurila, blink-dev
I believe the CL that will fix support for instability is still WIP and not merged in Chrome yet. See https://chromium-review.googlesource.com/c/chromium/src/+/3780810/2/components/webapps/browser/installable/installable_manager.cc

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALgRrLnv-LTt3h8-F3HcDZQs0rWtEVoLrXPGUBeYF0M2GuaCJg%40mail.gmail.com.

Thomas Steiner

unread,
Jul 25, 2022, 8:22:02 AM7/25/22
to François Beaufort, Thomas Steiner, Sonja Laurila, blink-dev
Thanks, François, I'll just check it out later then. 
--
Thomas Steiner, PhD—Developer Relations Engineer (https://blog.tomayac.comhttps://twitter.com/tomayac)

Google Germany GmbH, ABC-Str. 19, 20354 Hamburg, Germany
Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891

----- BEGIN PGP SIGNATURE -----
Version: GnuPG v2.3.4 (GNU/Linux)

iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck0fjumBl3DCharaCTersAttH3b0ttom.hTtPs://xKcd.cOm/1181/
----- END PGP SIGNATURE -----

Sonja Laurila

unread,
Jul 27, 2022, 10:14:10 AM7/27/22
to Thomas Steiner, François Beaufort, blink-dev
Correct! Now the CL for supporting installability is merged but the actual CL for enabling the borderless is still under review but should also be merged soon :) 
--

Sonja Laurila

Software Engineer

lau...@google.com
+49 1728 644080


Google Germany GmbH

Erika-Mann-Straße 33

80636 München


Geschäftsführer: Paul Manicle, Liana Sebastian

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg


Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde. 

     

This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.

Reply all
Reply to author
Forward
0 new messages