Виртуальная реальность Налоги и криптовалюта

Servo в июне 2025: поддержка цветовых вводов, SVG, JavaScript для встраивания и другие важные обновления

Виртуальная реальность Налоги и криптовалюта
This month in Servo: color inputs, SVG, embedder JavaScript, and more

Обзор ключевых изменений в движке Servo за июнь 2025 года, включая поддержку анимированных GIF, SVG-изображений, улучшения в производительности, новые функции веб-API и развитие инструментов для встраивания и отладки.

В июне 2025 года проект Servo, инновационный веб-движок с открытым исходным кодом, продолжил активное развитие, расширяя возможности поддержки современных веб-технологий и совершенствуя внутренние механизмы работы. В центре внимания этого месяца оказались улучшения, связанные с обработкой изображений, внедрением новых веб-API, совершенствованием производительности и расширением интеграционных возможностей для разработчиков. Многие изменения влияют как на конечных пользователей, так и на разработчиков, создающих сайты и приложения, работающие на базе Servo. Одной из наиболее заметных новинок стало полноценное отображение анимированных GIF-файлов. Теперь браузер способен воспроизводить эти графические файлы с анимацией без значительной нагрузки на ресурсы процессора.

Работа над этим функционалом требовала тщательной архитектурной проработки, чтобы встроить поддержку GIF-анимаций в существующую систему анимации браузера без негативного влияния на производительность. Кроме того, была реализована поддержка SVG-изображений, загружаемых через стандартный HTML-тег img. Это важный шаг в сторону универсальности обработки графических форматов, поскольку SVG является широко распространённым форматом векторной графики, который позволяет дизайнерам создавать масштабируемые изображения с высоким качеством отображения на различных устройствах. Проект также приветствует новых участников – в этом месяце два стажёра Outreachy начали работу над улучшениями Servo. Они сосредоточены на обновлении инфраструктуры непрерывной интеграции и внедрении нового мониторинга сети в инструменты для разработчиков.

Эти усилия направлены на повышение стабильности и удобства поддержки проекта. Значительные улучшения коснулись реализации механизма компоновки страниц (layout). Традиционно Servo применял алгоритм компоновки, требующий перерасчёта всей страницы при любом изменении. Это негативно сказывалось на производительности при динамических изменениях контента. В июне были введены изменения, позволяющие выполнять частичный перерасчёт макета — так называемую инкрементальную компоновку.

Теперь движок может обрабатывать локальные изменения без повторного рендеринга всей страницы, что заметно ускоряет работу с динамическими CSS-стилями и улучшает отзывчивость интерфейса. Продолжается работа над поддержкой Trusted Types API — механизма безопасности, защищающего веб-приложения от определённых видов атак, связанных с внедрением вредоносного кода. Уровень прохождения тестов по этой функции возрос с 47% до 58% за май, отражая постоянное улучшение реализации. Параллельно совершенствуется политика безопасности контента (Content Security Policy), которая теперь проходит около 59% автоматизированных тестов. Это дает основания ожидать в ближайшем будущем более стабильную и безопасную работу веб-приложений в среде Servo.

В числе новых возможностей появились поддержка HTML-элемента input с типом color, что позволяет создавать цветовые формы ввода с помощью стандартных средств браузера, а также объект URLPattern — полезный инструмент для сопоставления и обработки URL-адресов на клиентской стороне. Для разработчиков стали доступны новые методы взаимодействия с потоками данных и DOM: методы TransformStream, pipeThrough для ReadableStream и setHTMLUnsafe для ShadowRoot расширяют возможности управления асинхронным потоком данных и манипуляции деревом элементов. Свойство scrollingElement теперь корректно отображает элемент для прокрутки в документе, что улучшает совместимость с современными веб-API. · Были реализованы также функции, связанные с буфером обмена — метод readText на navigator.clipboard, позволяющий безопасно считывать текстовые данные пользователем.

Свойство type на Stylesheet добавляет возможность уточнять тип применяемого стиля, что полезно для динамического изменения внешнего вида страниц. Важные улучшения коснулись поддержки HTMLVideoElement как источника изображения для 2D canvas API. Это расширяет горизонты использования видео в динамической графике и интерактивных приложениях. Также внедрена возможность сериализации ImageBitmap для передачи через postMessage, что повышает эффективность обмена изображениями между разными контекстами веб-приложений. Различные баги и несовпадения с веб-спецификациями были устранены — теперь события ввода запускаются корректно в соответствии с последовательностью событий клавиатуры, были исправлены проблемы с доступностью и сериализацией атрибутов, а также с поведением Request headers.

Улучшена обработка ошибок конструктора ImageData и корректно работают значения в custom elements. В части взаимодействия браузера с инструментами автоматизации и тестирования, WebDriver сервер получил улучшения в обработке кликов, действий колёсика мыши и синхронизации команд, что делает работу с автоматическим контролем браузера более предсказуемой и стабильной. Анонсированы планы по интеграции Vello как нового бекенда для 2D canvas, что значительно повысит производительность графических операций и снизит нагрузки на аппаратные ресурсы. Также был совершен ряд правок, направленных на корректное отображение псевдоэлемента ::placeholder и исправление проблем с вводом текста. Отдельного внимания заслуживают нововведения в части взаимодействия с JavaScript из среды внедрения (embedder).

Теперь встроенные приложения могут выполнять JS-код внутри webview и получать асинхронные ответы, что открывает новые возможности для создания гибких и интерактивных интеграций с браузерной логикой. В дополнение к этому, механизмы по умолчанию предоставляют стили и интерактивность для элементов управления формами и мультимедийных компонентов, что снижает нагрузку на разработчиков при создании кастомных встраиваний движка. Автоматическая передача системных светлых и тёмных тем на всём уровне webview также улучшает визуальное восприятие, обеспечивая единообразие дизайна. Интеграция с инструментами разработчика Servo также была усовершенствована — элементы теперь выделяются в инспекторе макета, а узлы <!DOCTYPE> отображаются корректно, что облегчает отладку и анализ страниц. Убрана необходимость отдельной настройки включения поддержки Shadow DOM, так как эта функция была активирована по умолчанию в марте 2025 года, что упрощает конфигурацию проекта.

Следующим шагом стал запуск расширенной системы автоматического бенчмаркинга, которая теперь способна измерять время запуска Servo и загрузки основной страницы на HarmonyOS. Это поможет своевременно выявлять регрессии и оптимизировать работу на разнообразных платформах. Улучшена возможность написания юнит-тестов для API встраивания Servo, что способствует более быстрой и надёжной отладке проблем, связанных с завершением работы движка и устранением ошибок. Оболочка servoshell получила ряд обновлений: флаг --user-agent теперь правильно устанавливает заголовок User-Agent, была временно отключена поддержка сервис-воркеров в экспериментальных функциях, а при сборке с Address Sanitizer теперь проверяются все зависимости C++. На платформе Windows для загрузки используется winget как запасной вариант при отсутствии choco.

Также оболочка на старте корректно определяет системную светлую или тёмную тему, а геометрия экрана на OpenHarmony теперь правильно сообщается движку. В области производительности введены механизмы более эффективного удаления изображения из GPU-кэша, что снижает нагрузку на графическую подсистему и экономит ресурсы. Заметно уменьшен объём используемой памяти за счёт оптимизации хранения данных HSTS, что обеспечивает экономию более 60 мегабайт. Активно ведётся мониторинг использования памяти для sessionStorage и localStorage, данных публичного суффиксного списка и системных шрифтов. Также размер окончательного бинарного файла Servo уменьшился на два мегабайта благодаря удалению неиспользуемого кода DOM.

Команда бережно исправила множество сбоев и синий экранов, связанных с анимированными изображениями, мультимедийными элементами с неизвестной длительностью, графическими объектами canvas и другими частями движка. Был исправлен источник блокировок в потоках с большими блоками данных и устранены сбои при закрытии вкладок и удалении iframes. Особое внимание уделено отказу от небезопасных практик в использовании пользовательских значений JavaScript в Rust Drop-методах с целью повышения безопасности и стабильности. Стабильность и актуальность кода поддерживаются благодаря обновлению ключевых зависимостей — форка WebRender и Stylo, что обеспечивает сохранение совместимости с технологиями Firefox и снижает риски появления ошибок. В завершение стоит отметить, что проект продолжает получать поддержку в виде регулярных пожертвований и спонсорства, что обеспечивает финансирование инфраструктуры и развитие образовательных инициатив.

Благодаря прозрачности расходов, сообщество может быть уверено в эффективном использовании ресурсов. Подводя итоги, можно констатировать, что июнь 2025 года стал сезоном значительного прогресса для Servo, укрепляющего позиции как перспективного и оперативно развивающегося веб-движка, ориентированного на безопасность, производительность и удобство интеграций. Разработка движка продолжает следовать современным стандартам, открывая новые возможности как для пользователей, так и для разработчиков, взаимодействующих с веб-технологиями будущего.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Stinging Tree
Четверг, 11 Сентябрь 2025 Жгучее чудо Австралии: всё о древовидном крапиве Gympie-Gympie

Подробный обзор древовидного крапивного растения Gympie-Gympie, его уникальных свойств, среды обитания, механизма действия яда и способов оказания первой помощи после ожога. История, биология и современные научные исследования самого болезненного растения планеты.

SpaceX Ship 36 RUDs During Testing
Четверг, 11 Сентябрь 2025 Анализ неудач и испытаний SpaceX Ship 36: причины и последствия RUD

Подробное исследование серии отказов SpaceX Ship 36 во время тестирования, их влияние на развитие космических технологий и планы компании по совершенствованию своих кораблей.

Show HN: Gurney Halleck from Dune tells you to do stuff
Четверг, 11 Сентябрь 2025 Гурней Халлек из Дюны: вдохновляющий голос, который заставляет действовать

Образ Гурнея Халлэка из культового произведения "Дюна" как источник мотивации и призыв к действию в современном мире. Рассмотрение философии персонажа и её практического применения в повседневной жизни и работе.

June 2025 C2PA News
Четверг, 11 Сентябрь 2025 C2PA в 2025 году: новые возможности и вызовы для аутентификации контента

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

{{CompanyName}}’s {{Occupation}} hiring activity {{GrowthOfTotalJobsWithPreviousMonthText_Title}} {{GrowthOfTotalJobsWithPreviousMonthPer}}% in {{JobMonthText}} {{JobYear
Четверг, 11 Сентябрь 2025 Рост найма специалистов в сфере {{Occupation}} в компании {{CompanyName}} в {{JobMonthText}} {{JobYear

Анализ динамики найма специалистов в сфере {{Occupation}} в компании {{CompanyName}} на фоне изменений общих тенденций рынка труда в {{JobMonthText}} {{JobYear}}.

Citizen science illuminates the nature of city lights
Четверг, 11 Сентябрь 2025 Городские огни под новым углом: Как наука граждан помогает понять природу ночного освещения

Исследования с участием обычных людей раскрывают истинную картину городского освещения, влияния искусственного света и возможности снижения светового загрязнения в урбанизированных зонах Европы и мира.

Polson Police warn of cryptocurrency scam
Четверг, 11 Сентябрь 2025 Внимание жителей Полсона: новая криптовалютная афера набирает обороты

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