Google heeft versie 150 van zijn webbrowser Chrome uitgebracht. Google Chrome is beschikbaar voor Windows, Linux, macOS, Android en iOS. Versie 150 is de laatste versie die draait op MacOS 12. In deze update heeft Google 382 fixes uitgebracht, waarvan 15 voor een kritieke CVE.
CSS and UI
AccentandColor Accentsystem colorsColor Text The
AccentColorandAccentColorTextsystem colors can be used in CSS to access the system accent color specified on the user's device. This lets developers apply native-app-like styling to their web content in contexts where users expect OS theme integration, such as an installed web application. Users must be in an installed web application on the initial profile to see the system accent color rendered.Tracking bug #40229450 | ChromeStatus.com entry | Spec
Allow optional rounding parameter for
polygon()Adds an optional corner-rounding parameter in the
polygon()CSS shape function. Developers can specify a length value to round polygon corners without manually computing bezier curves.Tracking bug #329302249 | ChromeStatus.com entry | Spec
Animatable
zoomThe CSS
zoomproperty is animatable and interpolates as a<number>. Developers can transition and animatezoomto smoothly scale elements and their layout, complementing existing transform-based scaling.Tracking bug #393810951 | ChromeStatus.com entry
CSS
url()request modifiersCSS
url()functions accept optional request modifiers after the quoted URL string:cross-origin(),integrity(), andreferrer-policy(). These modifiers control the fetch behavior of the referenced resource directly from CSS, without requiring changes to HTML markup or JavaScript. For example,background-image: url("image.png" cross-origin(anonymous))fetches the image using CORS anonymous mode. This gives authors fine-grained control over cross-origin access, subresource integrity, and referrer policy for CSS-loaded resources including images, fonts, SVG references, and imported stylesheets.Tracking bug #435625756 | ChromeStatus.com entry | Spec
CSS
text-fitpropertyScales the font size of text nodes to perfectly fit the width of its containing box.
This property lets developers ensure headlines or dynamic content fill the available horizontal space without manual font-size calculations or complex JavaScript workarounds. It provides a robust, CSS-native solution for responsive typography that maintains visual alignment across different screen sizes and varying text lengths.
Tracking bug #417306102 | ChromeStatus.com entry | Spec
CSS
background-clip: border-areaImplements the
border-areavalue for the CSSbackground-clipproperty, as defined in CSS Backgrounds Level 4.background-clip: border-areaclips an element's background to the area painted by its border strokes, takingborder-widthandborder-styleinto account while ignoring transparency fromborder-color. This lets developers gradient borders withoutborder-image. WebKit already ships this feature; this implementation brings Chromium to parity.Tracking bug #329302543 | ChromeStatus.com entry | Spec
CSS
image(function<color>) The
image()function lets authors generate a solid-color image from any color. Its syntax is:image() = image( <color> )Tracking bug #510426954 | ChromeStatus.com entry | Spec
CSS
light-dark()with image valuesExtends the CSS
light-dark()function to accept image values (url(),image-set(),none) in author stylesheets, letting image properties likebackground-image,list-style-image,border-image-source,cursor, andcontentautomatically switch between images based on the user's preferred color scheme. Previously this was only allowed in UA stylesheets. This aligns with the CSS Color 5 specification and matches Firefox's existing implementation.Tracking bug #491829958 | ChromeStatus.com entry | Spec
Comma-separated container queries
Support multiple queries per
@containerrule. The@containerrule applies if at least one of the queries matches.This makes it possible to have fallback queries for features which are not supported in all browsers.
Tracking bug #41491726 | ChromeStatus.com entry | Spec
Expose unprintable areas with CSS
Printers usually have a small area at each of the four edges of a sheet of paper that they are not capable of marking reliably, usually due to the printer's paper handling mechanism. The default page margins are expected to be bigger than these areas, but if authors set margins on their own, and even want to add
@pagemargin boxes (for example, for custom headers and footers), they need a way of telling where it's safe to print and not.The CSS descriptor
page-margin-safetycan be used to steer clear of such unprintable areas.Tracking bug #368070327 | ChromeStatus.com entry | Spec
flex-wrap: balance
flex-wrap: balancelets developers distribute content between flex-lines so that it appears more balanced (similar totext-wrap: balance).Tracking bug #416755656 | ChromeStatus.com entry | Spec
named-feature()function for CSS@supportsThe
named-feature()function lets CSS@supportsrules query for a small set of specific named features that are not possible to test for using other@supportsmechanisms but which are considered highly valuable to test for.Tracking bug #353715317 | ChromeStatus.com entry | Spec
overscroll-behavior: chain
overscroll-behaviornow has for values:none,auto,containand the new valuechain. These values affect two independent effects: scroll propagation and local border effect (for example, overscroll stretch).
none: no propagation, no local effectauto: propagation, local effectcontain: no propagation, local effectchain: propagation, no local effectTracking bug #499018879 | ChromeStatus.com entry | Spec
Support
path-lengthas a CSS property.This change introduces a new CSS property,
path-length, which maps to the existing SVGpathLengthpresentation attribute. It applies to SVG geometry elements that supportpathLength(including<path>,<circle>,<rect>,<line>,<polyline>,<polygon>, and<ellipse>).Tracking bug #40670251 | ChromeStatus.com entry | Spec
DOM and HTML
Clone into all descendant
selectedcontentelementsSeveral small changes are being made to edge cases of the
selectedcontentelement:
- When multiple selectedcontent elements are put in a select element at the same time, all of them will be kept up to date instead of only the first one in DOM order.
- Updating the selectedcontent element is deferred when it would run during insertion, removal, or moving steps to fix security issues. The update is deferred by using post-insertion steps or microtasks.
Tracking bug #458113204 | ChromeStatus.com entry | Spec
FocusgroupProvides the ability to declaratively give composite widgets arrow key navigation, a guaranteed tab stop, and last-focused memory, replacing hand-coded roving
tabindexscripts. Example:<div focusgroup="toolbar wrap" aria-label="Formatting"> <button>Bold</button> <button>Italic</button> <button>Underline</button> </div>Out of order streaming
Use
<template for>and processing instruction ranges (<?marker>,<?start>, and<?end>) to update existing parts of the document without JS.Tracking bug #431374376 | ChromeStatus.com entry | Spec
Parse processing instructions in HTML
Processing instructions (syntax:
<?target data>) are an existing DOM construct, exposed in XML, that represents node objects that are not elements but can have some semantic meaning for the processing of a document.Processing instructions are parsed by the HTML parser, and receive an attribute API similar to elements to mutate their data.
Tracking bug #481087638 | ChromeStatus.com entry | Spec
popover=hintbehavior changesThis change implements a revised and simplified stacking model for the
popover=hintattribute and its interactions withpopover=auto. Previously, the interactions between these two types of popovers could be complex in some corner case situations (such as nesting auto popovers inside hint popovers), and could lead to unexpected behavior. Under the new model, opening a hint popover does not inadvertently close unrelated auto popovers. Hint popovers are only hidden when their ancestral auto popover is hidden, or when a new, unrelated auto popover is opened. Additionally, developers can safely nest an auto popover inside a hint popover; instead of throwing an exception or breaking the stack, the nested auto popover gracefully "downgrades" and behaves as a hint popover. This supports use cases such as placing acustomizable-selectwithin apopover=hint.To further improve predictability and prevent complex state mutations, we are also tightening the behavior around opening and closing popovers from within the
beforetoggleevent. There were guards in place for some, but not all, of the possible cases before. This change revamps the mechanism used to detect these cases, so that it should more reliably throwInvalidStateErrorsfor all such cases. This ensures that popover state management remains stable and prevents looping reentrancy bugs.Tracking bug #499019927 | ChromeStatus.com entry | Spec
Programmatic scroll promises
This feature provides a reliable signal for the completion status of a programmatic smooth-scroll. All scroll methods in
ElementandWindowreturnPromiseobjects that get resolved on scroll completion, and the resolved value indicates whether the scroll was interrupted or not.Tracking bug #41406914 | ChromeStatus.com entry | Spec
Graphics and media
Disable
SVGfilters on plugins and iframesChrome 150 will prevent
SVGfilters from being applied to embedded plugins (for example, PDFs) and cross-origin or restricted iframes (for example, sandboxed iframes). When a plugin or iframe would be painted with an SVG filter effect, the effect tree is traversed to find the highest ancestor without SVG filters, and that effect is then applied instead.Tracking bug #476646486 | ChromeStatus.com entry | Spec
Web
GPU: Immediates Adds a new immediate address space in WGSL and a
setImmediateData()method on render pass, compute pass, and render bundle encoders that lets developers pass small amounts of frequently-updated data directly to shaders without creating GPU buffer objects or bind groups.Tracking bug #366291600 | ChromeStatus.com entry | Spec
Security and Web Speech
Opaque origin for
data:URLsChrome 150 updates how dedicated and shared Workers handle
data:URLs. Rather than automatically inheriting the security origin of the script or page that created them, these workers are assigned a unique opaque origin.This alignment with the worker HTML specification enhances security by isolating these workers from the creator's same-origin state, preventing them from accessing sensitive data using mechanisms like
BroadcastChannelor same-origin storage. To maintain correct isolation boundaries, these workers still reside within the same storage partition (for example, by preserving the top-level site or nonce) as their creator.Tracking bug #40051700 | ChromeStatus.com entry | Spec
Web Speech API: On-Device Recognition Quality
Extends the
SpeechRecognitioninterface by adding aqualityproperty toSpeechRecognitionOptions. This lets developers specify the semantic capability required for on-device recognition (withprocessLocally: true).The proposed quality enum supports three levels:
command,dictation, andconversation. These map to increasing task complexity and hardware requirements. This lets developers determine if the local device can handle high-stakes use cases (like meeting transcription) or if they should fallback to cloud services.Tracking bug #476168420 | ChromeStatus.com entry | Spec
Web Apps
PWAorigin migrationWhen a user installs a Progressive Web App (
PWA), its identity and security context are tightly bound to its web origin, for example,app.example.com. This presents a significant challenge for developers who need to change their PWA's origin due to rebranding, domain restructuring, or technical re-architecture. Without origin migration, such a change forces users to manually uninstall the old app and reinstall the new one, leading to a disruptive experience and a potential increase in user loss rate. Chrome 150 introduces a mechanism for developers to seamlessly migrate an installed PWA to a new, same-site origin, preserving user trust and permissions.The WebAppInstallForceList policy blocks migration. Since enterprise policies around web applications are primarily based on URLs and origins, there is a risk that a migration would bypass certain policies an administrator might have configured. No migration will be offered to the user when an app is force-installed by their enterprise administrator, and instead a banner will be shown explaining this to the user.
Tracking bug #396504527 | ChromeStatus.com entry | Spec
Origin trials
Email Verification Protocol
The
EVP(email verification protocol) helps users create, access and recover accounts by providing cryptographic proof of ownership seamlessly rather than email OTPs manually.Origin Trial | ChromeStatus.com entry | Spec
Speculative load measurement
Expose measurement data regarding speculative loads (preloads, prefetches and prerenders) as part of a newly exposed
performance.getSpeculations()method. That would enable developers to measure the efficacy of various speculative loading strategies and adapt them accordingly.Origin Trial | Tracking bug #481590676 | ChromeStatus.com entry
WebDiagnostic Logging APIRTC API for
WebRTCdiagnostic logging.This API lets an application opt in to diagnostic logging. These logs contain information about the WebRTC activity by the application and are useful for local debugging or to file bugs.
Logs can be optionally uploaded out of band to the browser vendor and can be used for diagnosing bugs. The application gets an ID that can be attached to a bug report, similar to crashes.
Diagnostic logs are enabled with an enterprise policy called
WebRtcDiagnosticLogCollectionAllowedForOrigins.Origin Trial | Tracking bug #481412281 | ChromeStatus.com entry | Spec
Deprecations and removals
There are no deprecations or removals in this release.
:strip_icc():strip_exif()/u/114138/Flo060x060.jpg?f=community)
/u/367878/crop68203cf741501_cropped.png?f=community)
:strip_exif()/u/477707/crop633ed00537753_cropped.gif?f=community)
/u/1123253/crop6a0cfad2c4b89_cropped.png?f=community)
:strip_icc():strip_exif()/u/458785/crop5ebd3c818cd93_cropped.jpeg?f=community)
/u/271383/crop5e6b72d2a673b_cropped.png?f=community)
/u/513156/crop5ba35b73ebabc_cropped.png?f=community)
/u/922435/crop674f3a3f8165a_cropped.png?f=community)
:strip_icc():strip_exif()/u/62646/crop55f68ca81d160_cropped.jpeg?f=community)
/u/1957000/crop696cfa35c73d9_cropped.png?f=community)