What’s New in Chrome 100? Multi‑Screen API, Array Grouping, and Privacy Updates
Chrome 100 brings major frontend changes, including a Multi‑Screen Window Placement API for multi‑display apps, the ECMAScript Array Grouping proposal, reduced User‑Agent strings for better privacy, and the deprecation of the document.domain setter to strengthen same‑origin security.
1. Multi‑Screen Window Placement API
Chrome 100 introduces the Multi‑Screen Window Placement API, allowing web apps to query connected displays and open pages on a specific screen. New method window.getScreenDetails() provides detailed screen info, and window.open(), window.moveTo(), and requestFullscreen() can target a chosen screen.
For example, when using Keynote, slides appear on an external monitor while speaker notes and a timer stay on the laptop, improving presentation flow.
This capability can benefit document editors, financial tools, design software, and games by distributing content across multiple screens.
2. Array Grouping proposal
Chrome 100 enables the ECMAScript Array Grouping proposal (Stage 3) in a developer trial, adding Array.prototype.groupBy and Array.prototype.groupByToMap. The following code groups numbers into odd and even collections:
const array = [1, 2, 3, 4, 5];
// Returns: { odd: [1, 3, 5], even: [2, 4] }
array.groupBy(num => num % 2 === 0 ? "even" : "odd");
const odd = { odd: true };
const even = { even: true };
// Returns: Map { {odd: true}: [1, 3, 5], {even: true}: [2, 4] }
array.groupByToMap((num, index, array) => num % 2 === 0 ? even : odd);Lodash’s high usage indicates such utilities will be widely adopted once standardized.
3. Reduce User Agent string information
Chrome 95 began an origin trial to simplify the User‑Agent string; the trial ends with Chrome 100 and the feature ships in Chrome 101. The reduced UA retains only the browser name, major version, OS name, and device type, enhancing user privacy.
Developers needing more precise data should switch to User‑Agent Client Hints, which provide headers such as Sec-CH-UA, Sec-CH-UA-Platform, and others.
4. Deprecate the document.domain setter
Starting with Chrome 106, modifying document.domain to relax the same‑origin policy is deprecated and triggers a warning in Chrome 100. This closes a security loophole; alternatives like postMessage() or the Channel Messaging API should be used for cross‑origin communication.
Pages that still rely on document.domain can opt‑out of the deprecation by sending the response header Origin-Agent-Cluster: ?0.
Relaxing the same‑origin policy by setting "document.domain" is deprecated, and will be disabled by default in M106, around September 2022. To continue using this feature, send an Origin-Agent-Cluster: ?0 header.
Overall, Chrome 100 marks a milestone with new APIs, privacy enhancements, and a push toward modern web standards.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
