Chrome 102 released PWAs today look more like native apps

Four weeks ago, Google Chrome 101 was officially released, and a month later, this means that it is time for Chrome 102 to enter a stable channel. This release features a series of developer-related enhancements to the back-end API and the repeal of some other APIs, while also providing window control overrides for progressive web applications (PWAs) on the desktop.

A KEY FEATURE OF THIS RELEASE IS THAT DEVELOPERS ARE ABLE TO CONTROL MORE SPACE IN THE DESKTOP PWA. THIS IS ACHIEVED BY ALLOWING THE CLIENT APPLICATION TO EXTEND AND CONTROL THE ENTIRE SCREEN, AND THE SO-CALLED WINDOW CONTROL CAN BE UNDERSTOOD AS THE CLOSE, MAXIMIZE, AND MINIMIZE BUTTONS ON THE TITLE BAR. THIS WILL MAKE THE PWA LOOK MORE LIKE A NATIVE APPLICATION.

join us on telegram

You can read more about the implementation here:

SIMILARLY, PWA WEB APPS WILL BE ABLE TO ACT AS FILE HANDLERS AND HAVE SPECIFIC MIME TYPES AND EXTENSIONS, AND DEVELOPERS WHO MODIFY THEIR PWA MANIFEST TO ENABLE THIS BEHAVIOR WILL ALSO SEE THEIR WEB APPS LISTED IN THE “WITH… OPENS THE CONTEXT MENU.

A new navigation API has also been introduced, which will meet the needs of single-page applications (SPAs), as the existing window. navigation API is a bit complicated for these types of usage, and apparently, the developers’ response to this is “very positive”.

The capture processing mechanism, which has completed its Origin experiment and is already widely available, gives PWA applications the option to expose control and information to applications that are making video captures. For example, a video conferencing app can be integrated with a presentation tab to expose controls to navigate slides, which is again appreciated by developers.

There is also a new property that provides an estimate of audio latency that can be used to synchronize audio and video streams, a feature that has previously been implemented in Mozilla Firefox. At the same time, the Sanitizer API will make it easier to build applications without cross-site scripting (XSS).

Chrome 102 includes a V3 version of the Secure Payment Confirmation API. It now has two more optional inputs and another necessary one at a time, which means it’s a groundbreaking change. Web developers can also take advantage of an option to pre-filter out devices that don’t lead to a user-friendly experience through the browser picker. The newly released browser also packages a new surface for the Origin Private File System (OPFS), which Google describes below.

The Origin Private File System (OPFS, part of the File System Access API) has been added with a new surface that brings high-performance access to data. This new surface differs from the existing one in that it provides in-place and exclusive write access to the contents of the file. This change, combined with the ability to continuously read unsynchronized modifications, and the availability of synchronous variants on dedicated workers, dramatically improves performance and frees up new use cases.

Our goal is to give developers the flexibility to build higher-level storage components on top of it by providing generic, simple, and high-performance primitives. The new surface is particularly suitable for Wasm-based libraries and applications that want to use custom storage algorithms to fine-tune execution speed and memory usage.

Web application authors can also take advantage of enhancements to two properties: inert and until-found. Some of the features that have now been experimented with and are generally available include network state partitioning, speculative rules, and sub-resource loading using network bundles.

You can read all these feature details here:

In terms of developer experimentation, Chrome 102 introduced full-screen companion windows, Google’s first implementation of opaque response blocking (ORB), and the ability to insert “blocking=render” as an attribute in scripts and linked HTML tags to explicitly block rendering.

Finally, there are two deprecation and deletion changes to be aware of, and the PaymentRequest.show() method cannot be called by websites without user activation. This change was made to prevent abuse by malicious websites. Apple Safari has done just that, and Firefox has not implemented the PaymentRequest class at all. Second, the “Plan B” implementation of the Session Description Protocol (SDP) used when establishing WebRTC sessions is being removed because it is not cross-browser compatible.

Chrome 102 will begin rolling out later today. If you don’t automatically update to version 102 in one day, head over to the Help > “About Google Chrome” and once you have the update, you can trigger it. Next up is the Chrome 103, which will enter the beta channel on May 26 and will land in the stable channel on June 21.

Leave a Comment