Выпуск браузерного движка WebKitGTK+ 2.16


Представлен выпуск новой стабильной ветки WebKitGTK+ 2.16.0, порта браузерного движка WebKit для платформы GTK+. WebKitGTK+ позволяет использовать все возможности WebKit через GNOME-ориентированный программный интерфейс на основе GObject и может применяться для интеграции средств обработки web-контента в любые приложения, от использования в специализированных HTML/CSS-парсерах, до создания полнофункциональных web-браузеров. Из известных проектов, использующих WebKitGTK+, можно отметить Midori и штатный браузер GNOME (Epiphany).

Ключевые изменения:

-Аппаратное ускорение теперь включается только при выполнении 3D-операций и не активно по умолчанию. Ранее аппаратное ускорение было включено постоянно, что приводило к накладным расходам и значительному потреблению памяти в Epiphany при работе с большим числом открытых вкладок. Задействование 3D-ускорения только при необходимости позволило существенно сократить потребление памяти;
-Решена проблема в коде сборки мусора для JavaScript, которая мешала запуску сборщика мусора в некоторых ситуациях, что в итоге приводило к повышенному потреблению памяти;
-Включена по умолчанию поддержка CSS Grid Layout, нового метода многослойной компоновки элементов страницы, выровненных по сетке. В основе метода заложена идея разбиения страницы на области по аналогии с табличной компоновкой с выравниванием по столбцам и строкам. В отличие от таблиц, CSS Grid Layout не определяет структуру содержимого, что позволяет применять методы адаптивной вёрстки и выстраивать произвольные макеты, которые недостижимы с использованием обычных таблиц (например, дочерние элементы могут перекрывать друг друга и переноситься в случае нехватки экранного пространства). -По сравнению с Flexbox, который позволяет выравнивать элементы только в одной вертикальной плоскости, в CSS Grid Layout обеспечена возможность выравнивания элементов одновременно как по вертикальным, так и по горизонтальным направляющим, т.е. позволяет привязать выравнивание элеменов в разных столбцах.
-Добавлен новый параметр WebKitSetting "hardware-acceleration-policy" для настройки правил включения аппаратного ускорения;
-Добавлен новый a API для управления настройками для работы через прокси;
Добавлен API для создания эфемерных web-окружений, позволяющих не сохранять какие-либо данные на диск в процессе работы с сайтом в режиме инкогнито (ранее, в Epiphany режим инкогнито был реализован через создание профиля во временной директории, что могло приводить к утечке данных, фигурирующих при работе с сеансом);
-API для обработки данных сайта WebKitWebsiteDataManager расширен методами для извлечения и удаления данных, сохраняемых сайтом на стороне клиента. Кроме таких данных, как дисковый кэш, cookie и IndexedDB, также предоставлена возможность управления данными из кэша в ОЗУ и непостоянными сессионными Cookie;
-В системе автозаполнения форм добавлена поддержка динамически генерируемых форм ввода, изначально отсутствующих на странице и подставляемых JavaScript-кодом на лету;
-Реализована возможность добавления собственных вкладок с настройками в виджет с параметрами вывода на печать;
-Приложениям предоставлена возможность установки начальных прав на вывод уведомлений для избежания повторного вывода запросов на подтверждение полномочий;
-В инструменты для отладки добавлен программный интерфейс для отслеживания потребления памяти и всплывающее окно для контроля за расходованием ресурсов.

-22 марта ожидается релиз web-браузера Epiphany 3.24 (GNOME Web), основанного на движке WebKitGTK+ 2.16. Из изменений можно отметить:

-Проведена значительная модернизация интерфейса. Представлена новая реализация адресной строки, в которой решена серия проблем, мешающих удобной работе. Добавлено новое всплывающее меню (popover) со списком открытых вкладок, которое упрощает поиск нужной страницы при большом числе вкладок;

-Переработана система закладок. Реализован новый простой интерфейс для добавления закладки на страницу в один клик, а также всплывающее меню для быстрого доступа к закладкам. Полностью переработан интерфейс для управления коллекцией закладок;
-Улучшена реализация режима инкогнито - как было отмечено выше, данные сеансов теперь не оседают во временной директории;
-Представлено новое, более заметное, предупреждение, выводимое для небезопасных форм ввода пароля (открываемых без HTTPS);
-Для дополнительной защиты от отслеживания пользователя произведена интеграция чёрного списка EasyPrivacy;
-Добавлен диалог для контроля за персональными данными, сохраняемыми сайтами на локальный диск. В том числе, диалог позволяет просмотреть и удалить содержимое кэша, хранилища сеансов, IndexedDB и WebSQL;
-Улучшено обнаружение форм с паролями, параметры аутентификации теперь могут сохраняться для динамически создаваемых форм.