Релиз Firefox 46, перешедший на GTK3+ в Linux
- Переход на GTK3+ в сборках для платформы GNU/Linux. Поддержка GTK2+ пока сохранена и поддерживается в полном объёме. Переход Firefox на GTK3+ является важным звеном в реализации работы на системах, поддерживающих протокол Wayland. В связи с переходом на GTK3+ наблюдается повышение качество работы на экранах с высоким разрешением и отдельные изменения внешнего вида, например, изменился фон контекстных меню, при запуске в Ubuntu.
$ ldd libmozgtk.so |grep libgtk libgtk-3.so.0 => /usr/lib/i386-linux-gnu/libgtk-3.so.0 (0xb722c000)
- Проведена работа по усилению безопасности JIT-компилятора JavaScript. Выполнение кода организовано с использованием применяемого в OpenBSD алгоритма W^X, суть которого в том, что страницы памяти не могут быть одновременно доступны на запись и исполнение. В контексте JIT, генерируемый код может быть исполнен только после запрещения записи. При необходимости сгенерировать обновлённый вариант, флаг исполнения меняется на флаг записи. Включение режима W^X приводит к замедлению работы JavaScript-движка на 1-4%;
- Внесена большая порция изменений и исправлений в реализацию технологии WebRTC. Добавлена поддержка Simulcast, поддержка дуплексного режима при использовании PulseAudio, переписан код завершения соединения, добавлен вызов RTCRtpReceive, добавлены константы echoCancellation, mozAutoGainControl и mozNoiseSuppression, включена поддержка WebRTC в многопроцессном режиме;
- Для декодирования незашифрованного контента H.264 и AAC в случае отсутствия соответствующего кодека, в качестве запасного варианта может применяться CDM-модуль (Content Decryption Module), предназначенный для декодирования защищённого DRM-контента.
- Добавлен метод documents.elementsFromPoint, возвращающий массив элементов, находящихся в окне по указанным координатам;
- Добавлена поддержка порции свойств с префиксом "-webkit-", например "-webkit-flexbox" и "-webkit-transforms";
- Добавлена поддержка новых свойств, определённых в спецификации ECMAScript 6: флаг определения unicode-последовательностей в RegExp, функций блочного уровня, метод TypedArray.prototype.sort(), выражение arguments[@@iterator];
- Представлен экспериментальный EcmaScript Shared Memory API с реализацией типа SharedArrayBuffer, позволяющего создавать массивы в разделяемой памяти, и объекта Atomics для организации синхронизации блокировок примитивов;
- Реализован OffscreenCanvas API с конструктором OffscreenCanvas(), позволяющим организовать отрисовку через WebGL в отдельном потоке, не мешающем работе основного потока обработки контента;
- Реализация расширения WEBGL_compressed_texture_es3 с поддержкой сжатых текстур в формате ETC;
- В Web workers добавлена поддержка асинхронного чтения файлов при помощи объекта FileReader;
- В Web Crypto API добавлена поддержка формирования ключей с использованием HKDF (HMAC-based Extract-and-Expand Key Derivation Function);
- В about:config реализована опция network.dns.blockDotOnion, позволяющая заблокировать обращение к доменам .onion на уровне DNS, чтобы не афишировать случайное обращение к onion-узлам при подключении не через сеть Tor;
- В инструмент отладки потребления памяти добавлен режим "Dominator view", отображающий косвенный размер объектов ("retained size"), помимо самого объекта включающий и данные о размере других объектов, связанных через ссылки;
- В редакторе стилей в боковую панель правил "@media" добавлена возможность создания и отладки слоёв на базе отзывчивых изображений (Responsive Images, задание вариантов изображений, оптимизированных для различных экранных разрешений и уровня масштабирования);
- В инструменты для оценки производительности добавлен отчёт Allocations View, позволяющий выявить функции, потребляющие много памяти, и отследить появление пауз из-за операций выделения памяти и сборки мусора;
- Улучшения в версии для платформы Android:
- В меню добавлены элементы для обращения к истории посещений и закладккам;
- Прекращена поддержка платформы Android 3 (Honeycomb);
- В уведомлениях для открытых в фоне вкладок обеспечен показ URL;
- На устройствах с Android 6.0+ реализован вывод запроса полномочий при доступе к расширенным функциям в процессе выполнения приложения (ранее полномочия запрашивались только при установке);
- Обеспечен показ прокэшированных страниц, при попытке их открытия без наличия доступа в интернет;
- Увеличено разрешение пиктограмм ярлыков на домашнем экране;
- В качестве предлагаемых по умолчанию эскизов популярных сайтов теперь выводятся сайты, занимающие первые пять мест в рейтинге Alexa;
- Удалена поддержка Firefox Sync 1.1;
Как обычно следует отметить, что кроме новшеств и исправления ошибок в Firefox 46 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44315
|
0 | Tweet | Нравится |
|