Доступна для загрузки финальная версия Mozilla Firefox 32.
Основные изменения:
- Начальная поддержка нового всплывающего тулбара для перевода страниц. Перевод осуществляется через веб-сервис Microsoft Translator (включается настройками browser.translation.ui.show = true и browser.translation.detectLanguage = true).
- В контекстное меню страницы (вызываемое по нажатию правой кнопки мыши) добавлены кнопки «вперёд», «назад», «обновить» и «добавить в закладки».
- Слегка изменен дизайн страницы «Сервер не найден».
- Новая система кэширования. Преимущества: меньшее количество блокировок, быстрая отрисовка содержимого страницы, ускоренные запросы наличия данных в кэше, устойчивость к повреждению кэша при падениях, более умные алгоритмы для поддержания кэша в актуальном состоянии, сниженный расход памяти.
- Интегрирован Generational Garbage Collector — более производительный сборщик мусора. Особенно эффективен в ситуациях, когда создаётся большое количество короткоживущих объектов.
- Внедрён Public key pinning, позволяющий однозначно указать, какие сертификаты допустимы для конкретного сайта, и избежать MITM-атаки, при которой злоумышленник использует сертификаты неправомерно выпущенные иным удостоверяющим центром.
- В управление сохранёнными паролями добавлена возможность просмотра метаданных (количество использований пароля, дата первого и последнего использования, дата последнего изменения).
- В панели поиска теперь показывается количество найденных совпадений.
- Соединение с HTTP-прокси теперь может устанавливаться по HTTPS.
- Удалены некоторые 1024-разрядные корневые сертификаты из числа доверенных. Оставшиеся будут удалены в следующих выпусках, поскольку не обеспечивают должного уровня безопасности.
- Улучшена производительность управления сохранёнными паролями и управления дополнениями.
- Обновлены Vibration API для соответствия спецификациям W3C.
- В canvas включена поддержка drawFocusIfNeeded.
- Исправлена ошибка, вызывавшая искажение текста в Windows (исправлялось ручным созданием настройки layout.paint_rects_separately = true).
- Регрессия: при сочетании «большой объем текста + фоновое изображение с background-repeat: repeat» наблюдаются визуальные искажения текста. Будет исправлено в Firefox 34.
Инструменты разработчика:
- Появился редактор Web Audio.
- В редактор исходного кода добавлено автодополнение и подсказки с информацией из документации.
- В Инспектор добавлено отображение стилей, применяемых по умолчанию браузером (user-agent styles).
- Кнопка вызова Инспектора перемещена в левый верхний угол.
- В Инспектор добавлены подсказки с размером узла.
- Добавлена кнопка для создания скриншота страницы.
- Инструменты разработчика обзавелись поддержкой HiDPI.
- При просмотре разметки в markup-view скрытые узлы теперь выделены.
CSS:
- Включена поддержка CSS-свойства mix-blend-mode (952643).
- Включено липкое позиционирование — CSS position:sticky (полезно, например, для создания блока дополнительной информации, который «прилипает» к верху экрана при прокрутке страницы) (916315).
- Отказ от -moz-background-inline-policy в пользу box-decoration-break (613659).
HTML:
- У тега <img> реализовано свойство srcset, которое позволяет указать различные варианты изображения, оптимизированные для разных размеров экрана и разрешений. Включается настройкой dom.image.srcset.enable = true (870021).
JavaScript:
- Реализованы методы Array.from(), Array.prototype.copyWithin() и Number.isSafeInteger() из спецификации ECMAScript 6.
API/DOM:
- Базовая поддержка Encrypted Media Extensions API, необходимая для работы DRM-механизма, защищающего от нелегального копирования видео, встроенного на веб-страницы с помощью HTML5. Впоследствии, через этот API будет работать проприетарный компонент, расшифровывающий контент. Соответствующая настройка media.eme.enabled пока отключена (1016162). Отслеживать процесс внедрения EME можно с помощью 1015800.
- Реализована поддержка свойства navigator.languages и события languagechange (889335).
- Методы KeyboardEvent.getModifierState() и MouseEvent.getModifierState() обзавелись поддержкой модификатора «Accel» (1009388).
- Реализовано свойство KeyboardEvent.code, но пока отключено в релизе (865649).
- Реализованы scoped selectors для «querySelector()» и «querySelectorAll()». Например, «querySelector(»:scope > li")" (528456).
- Добавлен интерфейс document.timeline, связанный с Web Animation API (998246).
- У worker-ов появился доступ к Data Store API (949325).
- Привилегированным приложениям доступны API для проверки MSISDN (988469).
- Добавлена поддержка ограничений для gUM/WebRTC, позволяющих управлять разрешением и частотой кадров видеопотока (907352).
- HTMLTableElement.insertRow теперь вставляет строку в <tbody>, а не в <thead> (1003539).
MathML:
- Список возможных значений атрибута «notation» элемента <menclose> пополнился вариантом «phasorangle».
>>> Подробности