Начало бета-тестирования Firefox 18 и создание aurora-ветки Firefox 19
28 ноября 2012 года
Firefox 18 перешёл на стадию бета-тестирования, что ознаменовало прекращение формирования базовой функциональности и сосредоточение всего внимания на выявлении ошибок и контроле качества. Одновременно сформирована aurora-ветка Firefox 19. Новые возможности Firefox 19 ещё точно не утверждены, так как на стадии тестирования aurora-ветки будет произведена оценка готовности для релиза тех или иных новшеств. Загрузить бета-выпуск можно на данной странице, а aurora-версию здесь. Релиз Firefox 18 намечен на первую неделю нового года, релиз Firefox 19 ожидается 19 февраля.
Основные особенности бета-версии Firefox 18:
- Переход на новый JIT-компилятор IonMonkey, который позволит значительно повысить производительность JavaScript-приложений за счёт использования нового метода JIT-компиляции и передовых техник оптимизации. При выполнении тестового комплекта Kraken Firefox 18 с IonMonkey показал прирост производительности на 26% по сравнению с Firefox 17. В тесте V8 benchmark Firefox 18 опередил Firefox 17 на 7%.
Из особенностей IonMonkey можно отметить систему вероятностной оценки типов, в рамках которой предложен гибридный метод статического и динамического анализа, дающий возможность точно сопоставить типы для каждой переменной и каждого свойства JavaScript-программы, что позволяет избавиться от выполнения большого числа дополнительных проверок в процессе выполнения JavaScript. Кроме того, в IonMonkey реализованы адаптивные методы выбора той или иной техники оптимизации для выполняемого JavaScript-кода. Если JIT-компиляторы первых двух поколений (TraceMonkey и JägerMonkey) поддерживали только прямую однонаправленную трансляцию JavaScript в машинные инструкции, то IonMonkey дополнительно снабжён средствами для обратной связи, позволяющими оценить эффективность результата выполнения сгенерированных инструкций и при необходимости внести корректировки и оптимизации, учитывающие особенности выполняемого JavaScript-кода.
Среди других улучшений IonMonkey: задействование техники LICM (Loop-Invariant Code Motion) для выноса инструкций за пределы циклов; поддержка метода GVN (Global Value Numbering) для ликвидации избыточного кода; реализация линейной схемы распределения регистров LSRA (Linear Scan Register Allocation), применяемой также в таких проектах, как HotSpot JVM и LLVM; поддержка DCE (Dead Code Elimination) для удаления неиспользуемого кода; новый анализатор границ, позволяющий обойтись без лишних проверок выхода за границы буфера;
- Функция блокирования загрузки небезопасного контента при доступе к сайту по HTTPS. В частности, при открытии сайта по HTTPS появится возможность блокирования отображения блоков, включаемых в страницы без использования шифрования. По умолчанию функция будет отключена, для её активации следует изменить настройки через about:config. Интересно, что предложение о реализации данной возможности было добавлено 12 лет назад;
- Поддержка спецификации W3C Touch Events в дополнение к ранее реализованной экспериментальной технологии MozTouch Events, с реализацией методов обработки событий от сенсорных экранов, в том числе с поддержкой обработки множественных касаний (мультитач);
- Начальная поддержка протокола WebRTC, позволяющего через специальный JavaScript API, реализовать работающие в браузере Web-приложения, снабжённые средствами для аудио и видео коммуникаций в режиме реального времени. Например, можно оформить в виде web-приложения программный VoIP-телефон. Для включения поддержки WebRTC в настройках about:config следует указать media.peerconnection.enabled=true;
- Улучшено качество отображения изображений благодаря переходу на новый улучшенный алгоритм масштабирования HTML. В Firefox 18 данное улучшение по умолчанию отключено и будет активировано только в Firefox 19;
- Увеличена производительность кода, отвечающего за переключение между вкладками;
- Поддержка CSS3-свойства Flexbox для упрощённой блочной компоновки элементов на странице. По умолчанию поддержка Flexbox неактивна, для включения в настройках about:config следует указать layout.css.flexbox.enable=true;
- Поддержка DOM-свойства window.devicePixelRatio, определяющего относительный размер пикселей, что даёт возможность обеспечить в web-приложениях выбор корректного размера кнопок и элементов управления с учётом параметров текущего экрана;
- Поддержка псевдокласса "@supports", позволяющего протестировать поддержку специфичных свойств и значений CSS. В случае, если поддержка запрошенного свойства отсутствует, у разработчика появляется возможность в прозрачном режиме задействовать в программе запасной вариант;
- Ускорение процесса запуска браузера за счёт оптимизации процесса обработки сертификатов для заверенных цифровой подписью дополнений;
- Поддержка экранов высокой четкости Retina (HiDPI), используемых в новых MacBook Pro;
Улучшения, специфичные для версии Firefox 18 для платформы Android:
- Включены по умолчанию средства для защиты от фишинга и вредоносного ПО (режим Safe Browsing). Для находящихся в чёрном списке сайтов, на которых выявлено наличие вредоносного кода или которые уличены в фишинге, браузер теперь выводит специальное уведомление до начала открытия сайта;
- Интеграция поискового виджета для сервиса Google Now, ориентированного на предоставление нужной информации, когда она востребована с учётом текущего местоположения;
- Добавлена опциональная поддержка вывода поисковых рекомендаций по мере набора запроса в адресной строке Awesome Bar;
- Переработан код обновления браузера;
- Поддержка загрузки новых шрифтов, поставляемых с Firefox.
Улучшения, ожидаемые в Firefox 19:
- Интеграция встроенного просмотрщика PDF, написанного целиком на JavaScript с использованием технологий HTML5 и развиваемого в рамках проекта pdf.js. Просмотрщик поддерживает масштабирование и функции навигации по эскизам страниц, обеспечивает загрузку шрифтов Type 1 и TrueType, может формировать диаграммы и графики, поддерживает работу со сжатыми объектами. Так как код написан на безопасном высокоуровневом языке, он не подвержен уязвимостям, свойственным бинарным плагинам для просмотра PDF. Для отображения PDF используется своеобразная JIT-компиляция: изначально представленные в файле бинарные массивы преобразуются в потоки байткода PDF, который затем транслируется в JavaScript-представление и выполняется. Сгенерированная на основе PDF JavaScript-программа выводит данные через HTML-тег canvas;
- Средства для сброса системы поиска, используемой при вводе ключевых слов в адресной строке Awesomebar, в случае изменения настроек сторонним ПО или при модификации about:config;
- Функция canvas.toBlob(), позволяющая экспортировать изображения контента элементов Canvas в форме блобов;
- Проведена работа по уменьшению времени запуска браузера;
- В отладчике появилась поддержка приостановки при выполнении и скрытие неперечислимых свойств;
- Экспериментальный режим Remote Web Console для удалённой отладки Firefox для Android или Firefox OS. Для включения нужно указать в about:config devtools.debugger.remote-enabled=true;
- Поддержка использования встроенного отладчика для отладки дополнений и самого браузера. Для включения нужно указать в about:config devtools.chrome.enabled=true;
- Поддержка CSS-свойства @page;
- В CSS-свойство text-transform добавлена поддержка опции full-width;
- Добавлены новые параметры для указания размера в CSS-свойстве viewport-percentage: vh, vw, vmin и vmax.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.