Google has released version 126 of the Chrome web browser. Simultaneously, a stable version of the free project Chromium, which forms the basis of Chrome, is available. Chrome differentiates itself from Chromium by using Google logos, having a crash notification system, modules for playing DRM-protected video content, an automatic update installation system, permanent Sandbox isolation, providing keys for Google API, and transmitting RLZ parameters during searches. For those who need more time to update, a separate Extended Stable branch is maintained for 8 weeks. The next Chrome version 127 is scheduled for July 23.
Key changes in Chrome 126:
- The built-in PDF viewer now features the ability to extract text from a document, accessible through the 'Extract text from PDF' option in the context menu. For extracting text from scanned documents where text is embedded as an image, an optical character recognition (OCR) mechanism based on a machine learning system is employed. This new capability is expected to make working with PDF documents easier for visually impaired individuals who use screen readers. In the future, text recognition will also be implemented on images displayed on pages and screenshots. The OCR engine is enabled by default for 50% of users, while others can activate it via the setting 'chrome://flags/#pdf-ocr'.

- The performance settings configuration page
(āPerformance / Memory Saverā in the section chrome://settings/performance) has added the ability to adjust the aggressiveness level of the Memory Saver mode, which reduces RAM consumption by freeing up memory occupied by inactive tabs. For example, at a moderate level, the browser will unload fewer tabs from memory compared to the maximum setting. The option, which is by default available only to a portion of users, can be activated through the parameter 'chrome://flags/#memory-saver-aggressiveness'.
- For some users, the PDF viewer now employs a new OOPIF (out-of-process iframe) architecture by default, which processes document content in a separate process. This new architecture eliminates the complexities associated with the GuestView mechanism and simplifies the addition of new features to the PDF viewer. To enable the new architecture, use the setting 'chrome://flags/#pdf-oopif'.
- A reactive prefetch mode has been added that loads resources related to the page during navigation without waiting for their actual request, allowing for faster opening of new pages. An external Google service is used to predict resources that may be needed in the future, returning a list of recommendations after the URLs of the pages being navigated to are submitted.
- The ability to search using Google Lens for any images and text visible on the screen has been added. This feature can be activated through the context menu, the indicator in the address bar, or the 'ā®' menu, after which the user can highlight the object of interest on the screen and obtain information about it from Google Lens. When performing the operation, a server screenshot of the screen is sent to Google.
The feature is currently activated by default for 1% of users. The parameter 'chrome://flags/#enable-lens-region-search-static-page' can be used to enable or disable Google Lens support. - The results of optimizations to speed up the Speedometer 3 test have been summarized ā over the past two years, Chrome's performance in this test has increased by 72%. For example, the SpaceSplitString function, used for parsing expressions like 'class=āfoo barā', has been accelerated, memory handling functions have been optimized, unnecessary operations when working with web form elements have been eliminated, and the most commonly used actions have been accelerated. Additionally, optimizations in the V8 engineās garbage collector have contributed to these speed increases, improving efficiency by allowing garbage collection during idle rendering process times to avoid competition with the application for CPU resources.

- Significantly improved efficiency in working with cookies, allowing for reduced delays when interacting with websites. Previously, each time a cookie was accessed, a synchronous IPC request would be sent from the process handling the website to the process responsible for network interaction. Since web applications actively utilize values from cookies, such requests between processes slowed down operations, with 87% of requests to the other process being redundant.
To address this issue, a new architecture has been implemented where each process contains its own copy of cookie data and accesses it directly, while changes to the cookies, which may occur when working with the same cookies in another tab, are tracked through a versioning mechanism. The essence of this mechanism is that each value of
document.cookie is attached with a version counter, stored in shared memory, which increments upon value changes and is verified against the existing instance when reading.
- The API for View Transitions has been added to create transition animation effects when moving from one page to another within the same site (same-origin). Previously, this API could only be used for effects between different DOM states on a single page (for example, a smooth transition from one image to another). To apply transition effects between different documents, the property 'navigation: auto' should be used in the @-rule 'view-transition'.
- The CloseWatcher API has been included, allowing web applications to track Close requests and respond to them (for example, a handler can be created for the 'back' button on Android smartphones).
Close requests are generated when trying to close modal ( - Support for feedback mechanisms (trigger-rumble) has been added to the Gamepad API, which allows tracking and handling events from gamepads and controllers, such as vibrations.
- The GeolocationCoordinates and GeolocationPosition interfaces have been updated with the .toJSON() method for serializing coordinate objects in JSON format.
- The ChromeOS version now supports tab display mode (CSS property ādisplay: tabbedā), allowing the use of tabs within a single web application, for example, to organize editing multiple documents.
- An experimental feature (origin trial) has been added to preview content received from the camera or microphone.
- In the WebGPU API, shader compilation has been significantly accelerated. In the backend for the Vulkan graphics API, data loading into the GPU has been optimized (direct writing to the GPU buffer without intermediate copying is now supported).
- Improvements have been made to the web developer tools. In the āApplication > Storageā section, a capability has been added to inspect data saved using the Storage Buckets API, allowing for data storage to be organized into separate segments associated with the IndexedDB and CacheStorage APIs. In the performance evaluation panel, the ability to move and hide tracks has been added, along with the option to exclude script execution information from the performance graph and to enable a mode that artificially slows down system performance by 20 times.

The network activity tracking panel now supports substituting the full string of the HTTP header in the response in the format āname: valueā. The memory consumption monitoring panel has added filters to identify inefficient memory use, such as duplicate strings or lingering objects associated with detached DOM nodes.

In addition to new features and bug fixes, the latest version addresses 21 vulnerabilities. Many vulnerabilities were detected as a result of automated testing with tools such as AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer, and AFL. Nine issues have been assigned a high severity level. No critical issues that would allow bypassing all browser protection levels and executing code outside the sandbox environment have been found. Under the vulnerability discovery reward program for the current release, Google has paid out 11 rewards totaling over $168,000.
A record bounty of $100,115 has been awarded for the CVE-2024-5839 vulnerability, related to an issue in memory allocation mechanism implementation. This vulnerability has been assigned a medium danger level, as it can potentially lead to heap memory corruption when processing specially crafted HTML content. Additionally, bounties of $25,000, $7,000, $3,000, $2,000, $1,000, and $500 have been paid out, along with two bounties of $10,000 and $5,000. The amounts for the seven awards have not yet been determined.
Source: opennet.ru






