Хром 145

Дата выхода стабильной версии: 10 февраля 2026 года.

Если не указано иное, следующие изменения относятся к стабильной версии Chrome 145 для Android, ChromeOS, Linux, macOS и Windows.

CSS и UI

Добавлена ​​поддержка свойства CSS text-justify

Вы можете управлять выравниванием текста при применении свойства text-justify text-align: justify используя это свойство. Например, вы можете принудительно установить выравнивание, расширив межсимвольный интервал, даже в английском тексте.

Отслеживание ошибки #40321528 | Запись на ChromeStatus.com | Спецификация

Включите возможность использования процентных значений для свойств CSS letter-spacing и word-spacing

Включите процентные значения для свойств CSS letter-spacing и word-spacing , как определено в спецификации CSS Text Module Level 4. Процентные значения рассчитываются относительно шага изменения символа пробела ( U+0020 ). Это обеспечивает более надежный и гибкий контроль над типографикой, особенно в адаптивном дизайне, где интервал между текстом должен подстраиваться под разные размеры окна просмотра и шрифта.

Отслеживание ошибки #327740939 | Запись на ChromeStatus.com | Спецификация

Уточните вычисление радиуса затенения для больших border-radius

Это изменение гарантирует, что тени и границы отсечения на почти круглых элементах (где border-radius близок к 50%) точно соответствуют визуальному контуру изогнутой кромки.

Это обеспечивает более согласованное отображение сложных округлых форм, устраняя визуальные несоответствия при больших значениях радиуса. Коэффициент корректировки border-radius , который гарантирует, что углы будут выглядеть острыми при малых радиусах, постепенно уменьшается по мере приближения значения радиуса к 50%.

Это также относится к некруглым контурам (с использованием corner-shape ), для которых теперь используется тот же механизм регулировки радиуса.

Отслеживание ошибки #448651073 | Запись на ChromeStatus.com | Спецификация

Перенос столбцов для многоцветной печати

Добавлена ​​поддержка свойств CSS column-wrap и column-height , начиная с уровня 2 для multicol.

Это позволяет создавать вертикальную или даже двумерную компоновку столбцов. Высота столбцов может быть задана явно, а не определяться высотой content-box многоколоночного контейнера. Столбцы переносятся на новый ряд, когда все столбцы в одном ряду заполнены, вместо того чтобы создавать переполнение столбцов в вертикальном направлении.

Отслеживание ошибки #403183884 | Запись на ChromeStatus.com | Спецификация

Предоставить доступ к событию onanimationcancel для GlobalEventHandlers

CSS Animations Level 1 расширяет интерфейс GlobalEventHandlers , определенный в спецификации HTML, объявляя четыре новых обработчика событий: onanimationstart , onanimationiteration , onanimationend и onanimationcancel . Из всего IDL-кода GlobalEventHandlers отсутствовал только обработчик события onanimationcancel .

Отслеживание ошибки #464010037 | Запись на ChromeStatus.com | Спецификация

Настраиваемый выпадающий список

Это расширяет поддержку настраиваемого выбора в режиме отображения списка, включая выбор одного элемента и выбор нескольких элементов в режиме списка.

В режиме отрисовки списка элемент select отображается непосредственно на странице, а не в виде отдельной кнопки или всплывающего окна. Вы можете включить режим отрисовки списка на разных платформах, используя атрибуты multiple или size , например, <select multiple> или <select size=4> . Применение свойства CSS appearance: base-select к элементу select с этими атрибутами улучшает отрисовку и поведение ввода.

В этом случае не поддерживается настраиваемый select для всплывающего окна с множественным выбором, эта функция будет добавлена ​​позже. Для получения всплывающего окна с множественным выбором необходимо установить следующие атрибуты: <select multiple size=1> .

Отслеживание ошибки #357649033 | Запись на ChromeStatus.com | Спецификация

Параметр focusVisible при focus

При вызове метода focus() можно указать логическое значение focusVisible в словаре FocusOptions . Если true, вокруг вновь сфокусированного элемента всегда отображается кольцо фокусировки, соответствующее псевдоклассу :focus-visible . Если false, кольцо фокусировки не отображается, и :focus-visible не соответствует псевдоклассу. Если false отсутствует, пользовательский агент самостоятельно определяет, следует ли отображать кольцо фокусировки, и псевдокласс :focus-visible соответствует псевдоклассу.

Отслеживание ошибки #462191849 | Запись на ChromeStatus.com | Спецификация

Включить монохромное отображение эмодзи в режиме принудительной цветовой гаммы.

Это изменение обновляет поведение Chromium при отображении эмодзи в режиме принудительной смены цветов. При разрешении вычисленных значений эмодзи, значение font-variant-emoji которых соответствует normal или unicode отображаются с использованием их монохромных глифов, если таковые имеются.

Таким образом, Chromium подавляет отображение цветных эмодзи, что гарантирует полное участие эмодзи в режиме принудительной цветовой индикации и учет высококонтрастных цветов системы. Поведение вне режима принудительной цветовой индикации остается неизменным.

Отслеживание ошибки #420857717 | Запись на ChromeStatus.com | Спецификация

Эффект чрезмерной прокрутки на некорневых скроллерах

Это демонстрирует эластичные эффекты прокрутки поверх корневого элемента. Когда вложенный прокручиваемый элемент достигает своей границы прокрутки, эффект прокрутки поверх корневого элемента применяется именно к этому элементу, а не только к корневому элементу. Это уменьшает необходимость в пользовательских обходных путях JavaScript и может контролироваться для каждого элемента отдельно с помощью overscroll-behavior .

Отслеживание ошибки #41102897 | Запись на ChromeStatus.com | Спецификация

Возможности

Отображение истинного положения окна на Android

В Chrome на Android положение и размер окна браузера определяются корректно с помощью window.screenX , window.screenY , window.outerWidth и window.outerHeight .

Ранее Chrome ошибочно предполагал, что все окна браузера на Android начинаются с координат (0, 0). Это предположение неверно для планшетов Android, использующих режим свободного отображения окон. Веб-сайты всегда получали 0 при запросе положения окна на экране с помощью window.screenX и window.screenY . Эти поля хранят координаты верхнего левого угла окна в глобальном пространстве координат рабочей области.

Кроме того, Chrome на Android ошибочно предполагал, что внешние размеры окна браузера равны внутренним размерам области просмотра веб-сайта.

window.screenX и window.screenY имеют псевдонимы: window.screenLeft и window.screenTop .

Отслеживание ошибки #417632037 | Запись на ChromeStatus.com | Спецификация

JavaScript

Вставить

Это предложение по ECMAScript для Map.prototype.getOrInsert , Map.prototype.getOrInsertComputed , WeakMap.prototype.getOrInsert и WeakMap.prototype.getOrInsertComputed .

Отслеживание ошибки #434977728 | Запись на ChromeStatus.com | Спецификация

API для создания отчетов о сбоях (ключ-значение)

Новый API типа «ключ-значение», window.crashReport , основан на карте данных для каждого документа, которую Chrome добавляет в отчеты о сбоях.

Данные, помещенные в карту, используемую в этом API, отправляются в объекте CrashReportBody в случае сбоя какого-либо процесса рендеринга на сайте. Это позволяет отлаживать, какое именно состояние вашего приложения может вызывать тот или иной сбой.

Отслеживание ошибки #400432195 | Запись на ChromeStatus.com | Спецификация

По умолчанию строки User-Agent сокращены.

Начиная с версии Chrome 145, Chrome удаляет политику UserAgentReduction . Эта политика позволяла управлять отправкой Chrome сокращенной или полной строки User-Agent.

Для повышения конфиденциальности пользователей и уменьшения возможностей пассивного отслеживания, в версии Chrome 110 по умолчанию стало сокращаться количество информации, содержащейся в заголовке User-Agent. Политика UserAgentReduction была предоставлена ​​в качестве временной меры для предприятий, чтобы облегчить этот переход.

Рекомендуемый механизм доступа веб-сайтов к информации о браузере и устройстве — это подсказки клиента User-Agent (UA-CH). UA-CH требует от веб-сайтов активного запроса конкретной информации, что является более безопасным с точки зрения конфиденциальности подходом, чем устаревшая строка User-Agent. Для получения дополнительной информации см. статью web.dev « Переход на подсказки клиента User-Agent» .

Начиная с версии Chrome 145, политика UserAgentReduction не действует. Chrome по умолчанию отправляет сокращенную строку User-Agent. Системы или приложения, которые полагались на эту политику для получения полной (устаревшей) строки User-Agent, могут больше не получать ожидаемую ими подробную информацию.

Запись на ChromeStatus.com

NavigationTransition имеет свойство from , предоставляющее доступ к старому URL-адресу навигации. Предоставление доступа to (объекту NavigationDestination ) завершает этот процесс. Это особенно полезно при использовании обработчиков precommit, поскольку во время precommit текущий URL-адрес еще не переключился на целевой объект.

navigation.transition доступна только для перехваченных навигаций, то есть для навигаций, инициированных документом из того же источника.

Отслеживание ошибки #447171238 | Запись на ChromeStatus.com | Спецификация

Безопасное подтверждение платежа: ключи, привязанные к браузеру.

Это добавляет дополнительную криптографическую подпись к подтверждениям безопасных платежей и созданию учетных данных. Соответствующий закрытый ключ не синхронизируется между устройствами. Это помогает выполнить требования по привязке устройств для платежных транзакций.

Отслеживание ошибки #377278827 | Запись на ChromeStatus.com | Спецификация

Безопасное подтверждение платежа: обновление пользовательского интерфейса.

Обновляет элементы пользовательского интерфейса диалогового окна SPC в Android Chrome.

Помимо UX-презентации, добавлены следующие элементы:

  • Продавцы могут предоставить дополнительный список логотипов платежных систем, связанных с платежом, которые отображаются в пользовательском интерфейсе.
  • В зависимости от того, хочет ли пользователь продолжить транзакцию без SPC или отменить ее, продавцу возвращается различное состояние выходных данных. В обоих случаях отправляется только одно состояние выходных данных.
  • В платежный документ добавлено новое поле для указания данных платежа, благодаря чему текст в SPC отображается в две строки.

Отслеживание ошибки #405173922 | Запись на ChromeStatus.com | Спецификация

При установке cookie-файла с помощью Cookie Store API можно указать значение maxAge .

Время истечения срока действия cookie-файлов уже можно настроить с помощью атрибута expires , но maxAge предоставляет более идиоматический вариант и приводит Cookie Store API в соответствие с параметрами, предоставляемыми document.cookie и HTTP-заголовком Set-Cookie .

Отслеживание ошибки #430926231 | Запись на ChromeStatus.com | Спецификация

Типы InputEvent для команд удаления не свернутых выделенных областей.

Это позволяет получить точные значения inputType для сочетаний клавиш удаления выделенного текста. При использовании команд удаления, таких как Ctrl+Backspace или Ctrl+Delete с выделенным текстом в элементах contenteditable , события beforeinput и input сообщают об deleteContentBackward или deleteContentForward вместо deleteWordBackward или deleteWordForward . Это позволяет правильно понять, какая операция редактирования произошла, и реализовать надежные функции отмены, повтора или пользовательского редактирования.

Отслеживание ошибки #41423062 | Запись на ChromeStatus.com | Спецификация

Фиксированная активация для события clipboardchange

Для запуска событий clipboardchange требуется активация пользователя с сохранением прав или разрешение clipboard-read , что предотвращает несанкционированный мониторинг буфера обмена.

Событие clipboardchange относительно новое (Chrome 144), и оно практически не изменило интерфейс веб-браузера. В большинстве случаев функция сохранения активации пользователя или разрешения clipboard-read уже присутствует там, где происходит мониторинг буфера обмена (например, в клиентах удаленного рабочего стола).

Отслеживание ошибки #468821937 | Запись на ChromeStatus.com | Спецификация

Мультимедиа

Получайте доступ rtpTimestamp из видеокадров WebRTC с помощью VideoFrame.metadata()

Добавляет метод VideoFrame.metadata() , который возвращает словарь, содержащий поле rtpTimestamp , если базовый VideoFrame имеет это поле в своих собственных метаданных. В противном случае возвращается пустой словарь. Метаданные rtpTimestamp прикреплены только к видеокадрам, полученным из источников WebRTC.

Дополнительные поля метаданных уже присутствуют в нативной реализации и со временем могут быть добавлены в JavaScript, как указано в предлагаемой спецификации.

Запись на ChromeStatus.com | Спецификация

Хранилище

IndexedDB: бэкэнд SQLite (контексты в оперативной памяти)

Реализация IndexedDB в Chromium была переписана на основе SQLite, заменив предыдущую реализацию, которая использовала гибрид LevelDB и плоских файлов. Веб-API остался без изменений.

Это повышает надежность и, в меньшей степени, производительность.

Это применяется только к контекстам, работающим в оперативной памяти, таким как режим инкогнито в Chromium и Google Chrome. Это ограничивает влияние любых новых ошибок и откладывает необходимость переноса существующих данных, сохраненных на диск.

Отслеживание ошибки #436880911 | Запись на ChromeStatus.com | Спецификация

Производительность

Пусть веб-приложения понимают бимодальный режим измерения времени выполнения.

Новое поле confidence в объекте PerformanceNavigationTiming позволяет определить, насколько время навигации соответствует характеристикам вашего веб-приложения.

Отслеживание ошибки #1413848 | Запись на ChromeStatus.com | Спецификация

Добавьте presentationTime и paintTime к записям производительности.

Это позволяет использовать значения paintTime и presentationTime во времени отрисовки элементов, LCP, для длинных кадров анимации и во времени отрисовки.

paintTime означает время, когда фаза рендеринга завершилась и браузер начал фазу отрисовки. presentationTime означает время, когда «пиксели достигли экрана», что в некоторой степени зависит от реализации.

В этом описании функции не указана информация о времени проведения события, которая рассчитывается отдельно.

Отслеживание ошибки #378827535 | Запись на ChromeStatus.com | Спецификация

Использование CssPixels в API LayoutShift

Эта функция изменяет данные об атрибуции ( prevRect и currentRect ) в API LayoutShift таким образом, что они отображаются в пикселях CSS вместо физических пикселей. Такое поведение несовместимо с другими API, связанными с компоновкой, которые все используют пиксели CSS. Это изменение повышает согласованность, упрощает использование и соответствует ожидаемым единицам измерения при отладке и в инструментах.

Отслеживание ошибки #399058544 | Запись на ChromeStatus.com | Спецификация

Безопасность

Учетные данные сеанса, привязанные к устройству

Технология Device Bound Session Credentials (DBSC) позволяет веб-сайтам привязывать сессию пользователя к его конкретному устройству, что значительно затрудняет использование украденных сессионных файлов cookie на других компьютерах.

Запись на ChromeStatus.com | Спецификация

API источника

Идентификатор сайта является фундаментальным компонентом реализации веб-технологий, необходимым как для обеспечения безопасности, так и для защиты конфиденциальности, поддерживаемой пользовательскими агентами. Это понятие четко определено в HTML и URL, а также в широко используемых смежных понятиях, таких как «сайт» .

Однако, данные об источниках вам напрямую недоступны. Хотя для разных объектов существуют различные методы получения данных об источниках, каждый из них возвращает ASCII-сериализацию источника, а не сам источник. Это имеет ряд негативных последствий. На практике, при попытке сравнения источников с одинаковым или одинаковым местоположением при обработке сериализованных данных об источниках, вы часто допускаете ошибки, которые приводят к уязвимостям. С философской точки зрения, это, похоже, недостающий элемент безопасности, который вам сложно точно реализовать с помощью полифилла.

В Chrome 145 этот пробел в платформе устранен за счет введения объекта Origin , который инкапсулирует концепцию происхождения и предоставляет полезные методы, такие как сравнение, сериализация и синтаксический анализ.

Отслеживание ошибки #434131026 | Запись на ChromeStatus.com | Спецификация

Разделение прав доступа к локальной сети

Это усовершенствование ограничений доступа к локальной сети (LNA), в рамках которого Chrome разделяет необходимые разрешения для одного параметра доступа к локальной сети на два отдельных параметра.

Старые права доступа — local-network-access . Новые права доступа — local-network (для запросов LNA к IP-адресам в локальном адресном пространстве) и loopback-network (для запросов LNA к IP-адресам в адресном пространстве loopback).

Старое разрешение сохраняется в качестве псевдонима и продолжает работать для permissions.query и Permissions Policy . Корпоративные политики продолжают работать так же; более новые, более детализированные корпоративные политики добавляются позже.

Отслеживание ошибки #465491626 | Запись на ChromeStatus.com | Спецификация

согласование спецификации доверенных типов

Trusted Types была первоначально реализована и запущена в Chromium в 2019 году и с тех пор нашла применение на многочисленных веб-сайтах. В последнее время она привлекла внимание и других производителей браузеров.

Спецификация Trusted Types была написана в качестве «патча» наряду с оригинальной реализацией. Она вновь привлекает к себе внимание, поскольку другие разработчики пытаются реализовать ту же спецификацию. Она была интегрирована в HTML + DOM (плюс немного CSP). В рамках этого процесса выявляются и исправляются различные несоответствия. Некоторые из этих исправлений могут быть заметны разработчикам. Цель состоит в том, чтобы обновить реализацию в соответствии со спецификацией по мере ее интеграции в HTML.

Тем временем WebKit выпустил свою реализацию обновленной спецификации Trusted Types , что дает Chrome высокую уверенность в высокой совместимости этого обновления с веб-технологиями.

Отслеживание ошибки #330516530 | Запись на ChromeStatus.com | Спецификация

Графика

WebGPU: функция subgroup_uniformity

Это расширяет область применения анализа единообразия и изменяет перечень проверяемых частей языка, позволяя считать функциональность подгрупп единообразной в большем количестве случаев.

Отслеживание ошибки #454653380 | Запись на ChromeStatus.com | Спецификация

Изолированные веб-приложения

WebRequest.SecurityInfo в Controlled Frame

Эта функция представляет API WebRequest.SecurityInfo для ControlledFrame . Она позволяет веб-приложению перехватывать HTTPS, WSS или WebTransport-запросы к серверу, получать отпечаток сертификата сервера (проверенный браузером), а затем использовать этот отпечаток для ручной проверки сертификата отдельного необработанного TCP/UDP-соединения с тем же сервером. Это предоставляет приложению способ подтвердить, что оно взаимодействует с правильным сервером.

Отслеживание ошибки #462114142 | Запись на ChromeStatus.com | Спецификация

Испытания происхождения

Добавляет поддержку декодирования изображений JPEG XL ( image/jxl ) в Blink с использованием jxl-rs , безопасного для памяти декодера на чистом Rust.

JPEG XL — это современный формат изображений, стандартизированный по ISO/IEC 18181, который предлагает:

  • Прогрессивное декодирование для улучшения воспринимаемой эффективности загрузки.
  • Поддержка широкого цветового охвата, HDR и высокой глубины цвета.
  • Поддержка анимации.

В данной реализации используется jxl-rs вместо эталонного декодера libjxl из C++ для соответствия требованиям Chromium к безопасности памяти. Декодер активируется флагами enable-jxl-image-format и enable_jxl_decoder при сборке.

Запись на ChromeStatus.com

WebAudio: Настраиваемый квант рендеринга

Теперь AudioContext и OfflineAudioContext принимают необязательный renderSizeHint , который позволяет пользователям запрашивать определенный размер кванта рендеринга при передаче целого числа, использовать значение по умолчанию в 128 кадров, если ничего не передано или передано default , или попросить User-Agent выбрать подходящий размер кванта рендеринга, если указано hardware .

Пробная версия Origin | Запись на ChromeStatus.com

Амортизация и удаление

Удалить поддержку устаревших виртуальных камер в macOS

Chrome прекращает поддержку устаревших виртуальных камер для всех поддерживаемых им версий macOS.

Отслеживание ошибки #461717105 | Запись на ChromeStatus.com

Удалите расширение BMP для встраивания изображений JPEG или PNG в формат BMP.

Chrome удаляет расширение BMP для встраивания изображений JPEG или PNG в формат BMP.

Отслеживание ошибки #456842524 | Запись на ChromeStatus.com | Спецификация