Начиная с версии 155, Chrome снова поддерживает декодирование изображений JPEG XL (.jxl). Формат уменьшает размер файлов на 30–50 % по сравнению с JPEG и поддерживает сжатие без потерь, HDR и lossless-транскодирование JPEG.
JPEG XL лучше всего подходит для фотографий, сжатия с высокой точностью или без потерь и случаев, где нужно мелкозернистое прогрессивное декодирование. Разработчики советуют начать использовать .jxl в проектах.
Декодеры изображений — частая цель атак на браузеры. Реализации на C++ исторически страдали от чтения за пределами памяти, переполнения кучи и Use-After-Free.
Поэтому в Chrome используют jxl-rs — декодер на Rust. Модель безопасности построена на песочнице и глубокой защите по «правилу двух» (The Rule of Two).
Производительность jxl-rs опирается на оптимизации libjxl. Реализацию проверили фаззингом и ИИ-анализом кода — ошибок безопасности памяти не обнаружили.
Для SIMD-инструкций без unsafe-кода применили функцию Rust target_feature_11 и слой абстракции jxl_simd по образцу C++-библиотеки Highway. Небезопасные операции ограничены малым числом проверенных мест.
