Представлен (https://webkitgtk.org/2017/03/20/webkitgtk2.16.0-released.html) выпуск новой стабильной ветки WebKitGTK+ 2.16.0 (http://www.webkitgtk.org/), порта браузерного движка WebKit (http://webkit.org/) для платформы GTK+. WebKitGTK+ позволяет использовать все возможности WebKit через GNOME-ориентированный программный интерфейс на основе GObject и может применяться для интеграции средств обработки web-контента в любые приложения, от использования в специализированных HTML/CSS-парсерах, до создания полнофункциональных web-браузеров. Из известных проектов, использующих WebKitGTK+, можно отметить Midori (http://www.midori-browser.org/) и штатный браузер GNOME (Epiphany).Ключевые изменения (https://blogs.igalia.com/carlosgc/2017/03/20/webkitgtk-2-16/):
- Аппаратное ускорение теперь включается только при выполнении 3D-операций и не активно по умолчанию. Ранее аппаратное ускорение было включено постоянно, что приводило к большим накладным расходам и большому потреблению памяти при работе с большим числом открытых вкладок в Epiphany. Задействование 3D-ускорения только при необходимости позволило существенно сократить потребление памяти;
- Решена проблема в коде сборки мусора для JavaScript, которая мешала запуску сборщика мусора в некоторых ситуациях, что в итоге приводило к повышенному потреблению памяти;
- Включена по умолчанию поддержка CSS Grid Layout (https://developers.google.com/web/updates/2017/01/css-grid), нового метода многослойной компоновки элементов страницы, выровненных по сетке. В основе метода заложена идея разбиения страницы на области по аналогии с табличной компоновкой с выравниванием по столбцам и строкам. В отличие от таблиц, CSS Grid Layout не определяет структуру содержимого, что позволяет применять методы адаптивной вёрстки и выстраивать произвольные макеты, которые недостижимы с использованием обычных таблиц (например, дочерние элементы могут перекрывать друг друга и переноситься в случае нехватки экранного пространства). По сравнению с Flexbox, который позволяет выравнивать элементы только в одной вертикальной плоскости, в CSS Grid Layout обеспечена возможность выравнивания элементов одновременно как по вертикальным, так и по горизонтальным направляющим, т.е. позволяет привязать выравнивание элеменов в разных столбцах.
- Добавлен новый параметр WebKitSetting "hardware-acceleration-policy (https://webkitgtk.org/reference/webkit2gtk/unstable/WebKitSe...)" для настройки правило включения аппаратного ускорения;
- Добавлен (https://webkitgtk.org/reference/webkit2gtk/unstable/WebKitNe...) новый a API для управления настройками для работы через прокси;
- Добавлен API для создания эфемерных web-окружений (https://webkitgtk.org/reference/webkit2gtk/unstable/WebKitWe...), позволяющих не сохранять какие-либо данные на диск в процессе работы с сайтом в режиме инкогнито (ранее, в Epiphany режим инкогнито был реализован через создание профиля во временной директории, что могло приводить к утечке данных, фигурирующих при работе с сеансом);
- API для обработки данных сайта WebKitWebsiteDataManager (https://webkitgtk.org/reference/webkit2gtk/unstable/WebKitWe...) расширен методами для извлечения и удаления данных, сохраняемых сайтом на стороне клиента. Кроме таких данных, как дисковый кэш, cookie и IndexedDB, также предоставлена возможность управления данными из кэша в ОЗУ и непостоянными сессионными Cookie;
- В системе автозаполнения форм добавлена поддержка динамически генерируемых форм ввода, изначально отсутствующих на странице и подставляемых JavaScript-кодом на лету;
- Реализована возможность добавления собственных вкладок с настройками в виджет с параметрами вывода на печать;
- Приложениям предоставлена возможность установки начальных прав на вывод уведомлений для избежания повторного вывода запросов на подтверждение полномочий;
- В инструменты для отладки добавлен программный интерфейс для отслеживания потребления памяти и всплывающее окно для контроля за расходованием ресурсов.
22 марта ожидается релиз web-браузера Epiphany 3.24 (GNOME Web), основанного на движке WebKitGTK+ 2.16. Из изменений можно отметить:
- Проведена значительная модернизация интерфейса. Представлена новая реализация адресной строки, в которой решена серия проблем, мешающих удобной работе. Добавлено новое всплывающее меню (popover) со списком открытых вкладок, которое упрощает поиск нужно страницы при большом числе вкладок;
- Переработана система закладок. Реализован новый простой интерфейс для добавления закладки на страницу в один клик, а также всплывающее меню для быстрого доступа к закладкам. Полностью переработан интерфейс для управления коллекцией закладок;
- Улучшена реализация режима инкогнито - как было отмечено выше данные сеансов теперь не оседают во временной директории;
- Представлено новое, более заметное, предупреждение, выводимое для небезопасных форм ввода пароля (открываемых без HTTPS);
- Для дополнительной защиты от отслеживания пользователя произведена интеграция чёрного списка EasyPrivacy (https://easylist.to);
- Добавлен диалог для контроля за персональными данными, сохраняемыми сайтами на локальный диск. В том числе, диалог позволяет просмотреть и удалить содержимое кэша, хранилища сеансов, IndexedDB и WebSQL;
- Улучшено обнаружение форм с паролями, параметры аутентификации теперь могут сохраняться для динамически создаваемых форм.
URL: https://webkitgtk.org/2017/03/20/webkitgtk2.16.0-released.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=46229