Новинки Firefox 153 для веб-разработчиков: Intl.Locale API, Text-модули и отладка
Вышел официальный стабильный релиз браузера Firefox 153, содержащий обширный набор новых веб-API, улучшений для разработчиков расширений и обновлений инструментов отладки DevTools. Выпуск делает важный шаг в направлении стандартизации методов интернационализации и безопасного импорта внешних ресурсов.
Новые методы JavaScript и интернационализация Intl.Locale
Главным обновлением стандартов ECMAScript в релизе стало добавление методов спецификации Intl.Locale info. Теперь веб-приложения могут напрямую запрашивать у браузера региональные настройки пользователя без использования внешних тяжелых библиотек.
Новые доступные методы объекта Intl.Locale:
getCalendars()— список поддерживаемых календарей для заданной локали;getHourCycles()— используемый формат времени (12-часовой или 24-часовой);getNumberingSystems()— система нумерации и формат цифр;getTimeZones()— ассоциированные часовые пояса;getWeekInfo()— информация о первом дне недели и выходных днях.
Также в движке JavaScript появилась поддержка свойства Error.stackTraceLimit, позволяющего управлять максимальным числом кадров стека вызовов при отладке ошибок.
Безопасные текстовые модули: синтаксис with { type: "text" }
Firefox 153 внедряет поддержку импорта текстовых файлов через стандартный синтаксис JavaScript-модулей:
import textContent from "./templates/doc.txt" with { type: "text" };
Ключевая особенность нововведения заключается в безопасности: содержимое импортируемого текстового файла разбирается исключительно как обычная строка, даже если файл содержит внедренный JavaScript-код или HTML-теги. Это предотвращает риски исполнения сторонних скриптов при загрузке внешних шаблонов, шейдеров и текстовых ресурсов.
Разработчикам следует отличать этот API от фазовых импортов (import source): Firefox 153 поддерживает синтаксическую основу фазовых импортов, но представление для WebAssembly пока не реализовано, поэтому текстовые модули остаются основным практическим инструментом релиза.
Улучшения работы с хранилищем IndexedDB
Для работы с локальными базами данных IndexedDB добавлены методы IDBObjectStore.getAllRecords() и IDBIndex.getAllRecords(). Они позволяют мгновенно запрашивать список записей вместе с их ключами в рамках одной операции, что упрощает выборку данных без создания вручную курсоров навигации.
Обновления медиа, WebRTC и асинхронного WebAssembly
Среди ключевых изменений сетевого и медийного стека релиза:
- Picture-in-Picture API. Официальная поддержка вызова режима «картинка в картинке» для элементов
<video>на десктопных операционных системах; - Доработки Popover API. Улучшено поведение всплывающих элементов с атрибутами
autoиhint, оптимизировано управление фокусом клавиатуры; - WebRTC метрики и сертификаты. Метод
RTCDtlsTransport.getRemoteCertificates()открывает доступ к сертификатам удаленного пира, а MediaCapabilities позволяет оценивать плавность трансляции; - WebAssembly JS Promise Integration. Добавлена возможность приостановки Wasm-модулей при ожидании исполнения JavaScript Promise.
Инспектор доступности DevTools и автотесты
Панель инспектора доступности (Accessibility Inspector) в Firefox 153 получила отображение уровня заголовков (h1–h6) непосредственно в дереве элементов. Это ускоряет проверку семантической структуры страниц на соответствие стандартам доступности (WCAG).
Для специалистов по автоматизации тестирования обновлен протокол WebDriver BiDi, улучшивший эмуляцию временных зон и локалей внутри контекста фоновых веб-воркеров.
Изменения для авторов расширений (Add-ons)
Важное изменение безопасности касается веб-расширений: доступ к локальным файлам по протоколу file:// теперь отключен по умолчанию и требует явного подтверждения пользователя в настройках браузера. Разработчикам расширений необходимо обновить документацию и корректно обрабатывать отсутствие прав доступа.
Экспериментальные возможности в about:config
В релизе также присутствуют экспериментальные функции, доступные через флаговые настройки: начальная поддержка графического формата JPEG XL, функции селекторного отсчета sibling-count() в CSS и распознавание селекторов ::-webkit-scrollbar для обратной совместимости.
Углубленный разбор ECMAScript-фич и управления стеком
Помимо основных методов интернационализации, добавление свойства Error.stackTraceLimit в движок SpiderMonkey в Firefox 153 дает инженерам удобный инструмент регулирования объема собираемой отладочной информации. При значении Error.stackTraceLimit = 0 трассировка стека полностью отключается, что может существенно повысить скорость генерации массовых системных исключений во высоконагруженных циклах.
В то же время при локальной отладке сложных асинхронных цепочек вызовов увеличение stackTraceLimit позволяет увидеть полную историю вызовов функции сквозь несколько слоев асинхронных Promise.
Стратегия проверки совместимости и паттерны Feature Detection
При внедрении любых новых веб-API, появившихся в Firefox 153, обязательным правилом продуктовой разработки является применение паттернов безопасной проверки (Feature Detection) до вызова соответствующих методов в производственном коде:
if ('Locale' in Intl && typeof Intl.Locale.prototype.getCalendars === 'function') {
const locale = new Intl.Locale('ru-RU');
console.log(locale.getCalendars());
} else {
// Резервный вариант для старых версий браузеров
}
Такой подход защищает веб-приложение от некритических ошибок на браузерах пользователей, еще не обновившихся до актуальной версии Firefox 153.
Практический чек-лист миграции на Firefox 153
Для продуктовых инженерных команд релиз Firefox 153 предлагает четкий алгоритм проверки веб-приложений:
- Аудит локализации и дат. Проверьте корректность работы с
Intl.Localeпри динамическом определении формата первого дня недели и 12/24-часового формата времени. - Проверка работы с хранилищами. Проведите бенчмарк операций чтения в IndexedDB с использованием
getAllRecords()на больших объемах тестовых данных. - Регресс для расширений. Проверьте права локального доступа
file://в ваших браузерных расширениях и добавьте явные подсказки для пользователей. - Тесты доступности и автоматизация. Запустите сквозные тесты (E2E) через обновленный WebDriver BiDi и проверьте дерево заголовков в панели Accessibility.
Систематический подход к тестированию новых возможностей веб-платформы гарантирует стабильную и безопасную работу веб-сервисов для миллионов пользователей.
