Firefox 31 перешёл (http://www.mozilla.org/en-US/firefox/31.0beta/releasenotes/) на стадию бета-тестирования, что ознаменовало прекращение формирования базовой функциональности и сосредоточение всего внимания на выявлении ошибок и контроле качества. Одновременно сформирована (http://www.mozilla.org/en-US/firefox/32.0a2/auroranotes/) aurora-ветка Firefox 32. Новые возможности Firefox 32 ещё точно не утверждены, так как на стадии тестирования aurora-ветки будет произведена оценка готовности для релиза тех или иных новшеств. Загрузить бета-выпуск можно на данной странице (http://www.mozilla.org/firefox/beta/), а aurora-версию здесь (http://www.mozilla.org/firefox/aurora/). Релиз Firefox 31 намечен на 22 июля, а Firefox 32 на 2 сентября. Улучшения, представленные (http://www.mozilla.org/en-US/firefox/31.0beta/releasenotes/) в бета-версии Firefox 31:
- На страницу, отображаемую при открытии новой вкладки, добавлено поле для выполнения операций поиска;
- Интеграция сборщика мусора Generational Garbage Collector (https://wiki.mozilla.org/JavaScript:GenerationalGC), который позволяет достигнуть более высокой производительности и уменьшить потребление памяти в ситуации хранения большого числа объектов, живущих короткое время;
- В оптимизирующем модуле OdinMonkey для кода, использующего стиль asm.js, задействован (https://hacks.mozilla.org/2014/05/asm-js-performance-improve.../) новый дополнительный уровень оптимизации (backtracking allocator), позволяющий обеспечить более качественную генерацию машинных инструкций при работе JIT. Отрицательной стороной нового метода является повышение времени компиляции и более высокая ресурсоёмкость из-за более сложных методов поиска оптимального решения, поэтому данный метод не используется по умолчанию для обычного кода, но вполне применим для Asm.js. В тесте octane-zlib включение нового уровня оптимизации позволило поднять производительности с 45000 до 50000 баллов.
- Задействована (https://blog.mozilla.org/security/2014/04/24/exciting-update.../) новая библиотека mozilla::pkix (https://mxr.mozilla.org/mozilla-central/source/security/pkix/) для проверки корректности цифровых сертификатов. Новая библиотека отличается более высокой надёжностью за счёт проверки всех доступных цепочек проверки сертификатов. Код библиотеки написан на C++ и составляет всего 4167 строк, что заметно упрощает её сопровождение (прошлая библиотека была излишне усложнена и состояла из 81865 строк из-за того, что была транслирована с Java на C). За выявление проблем с безопасностью в новой библиотеке Mozilla обещает выплатить премию в размере 10 тысяч долларов.
- Удалена инфраструктура CAPS, предназначенная для определения специфичных для сайтов прав доступа через настройки capability.policy.*. Как следствие прекращена поддержка основанного на CAPS метода предоставления доступа web-приложений к буферу обмена. При этом сделано исключение для прав checkloaduri, позволяющих организовать загрузку файлов через URI "file://";
- По умолчанию включена поддержка формата WebVTT (http://dev.w3.org/html5/webvtt/) (Web Video Text Tracks), который может использоваться (https://developer.mozilla.org/en-US/docs/Web/API/Web_Video_T...) для организации вывода субтитров при просмотре видео через тег track;
- Поддержка переменных в блоках CSS. Появилась возможность создания переменных с префиксом "--" (ранее предлагался "var-") и возможность их последующего использования при помощи инструкции var(). Например:
<font color="#461b7e">
:root {
--companyblue: #369;
--lighterblue: #powderblue
}
h1 {
color: var(companyblue);
}
h2 {
color: var(lighterblue);
}
</font>
- Включена по умолчанию поддержка выражений nonce-source и hash-source, определённых в спецификации CSP 1.1 (http://www.w3.org/TR/CSP11/) (Content Security Policy) и используемых для организации верификации встраиваемых на страницу скриптов. CSP нацелен на использование специального HTTP-заголовка для защиты от организации межсайтового скриптинга (XSS) и подстановки в страницы "IFRAME/JavaScript src" блоков;
- Диалоги, выводимые при поступлении события onbeforeunload, теперь не блокируют доступ к другим операциям в браузере;
- Включена по умолчанию поддержка интерфейса navigator.sendBeacon (https://developer.mozilla.org/en-US/docs/Web/API/navigator.s...), для асинхронной передачи из браузера на сервер небольших порций данных;
- Для массивов добавлена поддержка метода
Array.prototype.fill() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...), предназначенного для заполнения всего массива или части его элементов определённым значением.
- Новый встроенный объект Object.setPrototypeOf();
- В движке MathML частично реализована поддержка (https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Proj...) таблицы математических символов, определённой в новой спецификации шрифтов OpenType. Изменение позволяет обеспечить корректное (https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Proj...) отображение математических символов с использованием шрифтов OpenType, поддерживающих таблицу MATH;
- Новая математическая функция Math.clz32() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) для возврата числа нулевых битов в начале 32-разрядного бинарного значения;
- Новый метод CSS.escape() (https://developer.mozilla.org/en-US/docs/Web/API/CSS.escape) для экранирования спецсимволов в CSS-выражениях (например, CSS.escape(".foo#bar") выдаст "\.foo\#bar");
- Расширены (https://hacks.mozilla.org/2014/05/editable-box-model-multipl.../) возможности (https://blog.mozilla.org/futurereleases/2014/06/12/help-test.../) инструментов для разработчиков:
- Новый инструмент Eyedropper, позволяющий выбирать цвет на уровне отдельных пикселей (пипетка реализована в форме увеличительного стекла, показывающего попиксельную раскладку);
<center><a href="https://hacks.mozilla.org/wp-content/uploads/2014/05/eyedrop... src="http://www.opennet.me/opennews/pics_base/0_1403083443.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Поддержка редактирования элементов на карте отступов (Box Model), что позволяет на лету менять параметры границ. Для начала редактирования достаточно два раза кликнуть на значении отступа. Можно вводить любые значения CSS или увеличивать/уменьшать текущие параметры клавишами вверх/вниз;
<center><a href="https://hacks.mozilla.org/wp-content/uploads/2014/05/editabl... src="http://www.opennet.me/opennews/pics_base/0_1403083648.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Редактор стилей (Style Editor) и редактор кода Scratchpad синхронизированы с кодовой базой Codemirror 4. Появилась поддержка многих новых возможностей, в том числе возможность использования горячих клавиш как в текстовом редакторе Sublime (http://www.sublimetext.com/docs/key-bindings), выделение произвольных прямоугольных областей, отмена выделения и одновременное выделение нескольких блоков;
<center><a href="https://hacks.mozilla.org/wp-content/uploads/2014/05/editor-... src="http://www.opennet.me/opennews/pics_base/0_1403083992.gif" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- В web-консоли добавлена поддержка трассировки стека. Записи console.error, console.exception и console.assert теперь включают полный срез состояния стека в момент возникновения ошибки;
<center><a href="https://hack...
URL: https://hacks.mozilla.org/2014/06/toolbox-inspector-scratchp.../
Новость: http://www.opennet.me/opennews/art.shtml?num=40029