Представлен выпуск новой стабильной ветки WebKitGTK 2.42.0, порта браузерного движка WebKit для платформы GTK. WebKitGTK позволяет использовать все возможности WebKit через GNOME-ориентированный программный интерфейс на основе GObject и может применяться для интеграции средств обработки web-контента в любые приложения, от использования в специализированных HTML/CSS-парсерах, до создания полнофункциональных web-браузеров. Из известных проектов, использующих WebKitGTK, можно отметить штатный браузер GNOME (Epiphany). Ранее WebKitGTK применялся в браузере Midori, но после перехода проекта в руки Astian Foundation старый вариант Midori на WebKitGTK был заброшен и путём создания ответвления от браузера Wexond создан принципиально другой продукт с тем же названием Midori, но на основе платформы Electron и React.
Ключевые изменения:
- Реализован новый механизм рендеринга, использующий разделяемые буферы DMA-BUF.
- Добавлен новый запрос полномочий, применяемый для предоставления доступа к вставке через DOM (DOM paste).
- Добавлен API для настройки экспериментальных возможностей во время работы.
- Добавлен API для установки объёма хранилища, используемого для хранения данных.
- Реализация WebGL избавлена от привязке к GBM.
Дополнительно можно отметить публикацию отчёта о последних достижениях браузерного движка Servo, написанного на языке Rust и ориентированного на выполнение рендеринга web-страниц в многопоточном режиме, распараллеливание операций с DOM (Document Object Model) и достижение более высокого уровня безопасности кодовой базы. Servo позволяет разбить код DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender.
В свежих ночных сборках Servo реализованы следующие возможности:
- Включён по умолчанию интерфейс пользователя minibrowser (рабочий пример браузера на базе движка Servo), оснащённый адресной строкой.
- Обновлена экспериментальная реализация API WebGPU, включаемая через параметр “–pref dom.webgpu.enabled”. Новая версия успешно проходит более 5000 тестов, оценивающих совместимость со спецификацией.
- Код, обеспечивающий работу HTTPS, переведён с OpenSSL на пакет rustls.
- Добавлена возможность сборки для архитектуры ARM32, помимо ARM64.
- Возвращена поддержка плавающих элементов CSS и свойства “white-space: nowrap”.
- Улучшена страница, показываемая при аварийном завершении.