Firefox 19 перешёл на стадию бета-тестирования, что ознаменовало прекращение формирования базовой функциональности и сосредоточение всего внимания на выявлении ошибок и контроле качества. Одновременно сформирована aurora-ветка Firefox 20. Новые возможности Firefox 20 ещё точно не утверждены, так как на стадии тестирования aurora-ветки будет произведена оценка готовности для релиза тех или иных новшеств. Загрузить бета-выпуск можно на данной странице, а aurora-версию здесь. Релиз Firefox 19 намечен на 19 февраля, релиз Firefox 20 ожидается 2 апреля.
Основные особенности бета-версии 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 в форме блобов;
- Внесены оптимизации и исправления, направленные на уменьшение времени запуска браузера. Например, интерфейс теперь отрисовывается в первую очередь, после чего начинается загрузка домашней страницы и выполнение кода, не влияющего на отображения начального окна;
- Поддержка CSS-блока @page, позволяющего менять некоторые CSS-свойства при выводе документа на печать, например, можно поменять отступы, параметры окна, разрывы страниц и т.п.;
- В CSS-свойство text-transform добавлена поддержка опции full-width;
- Добавлены новые параметры для указания размера в CSS-свойстве viewport-percentage: vh, vw, vmin и vmax;
- В отладчике появилась поддержка приостановки при выполнении и возможность скрытия неперечислимых свойств;
- Поддержка использования встроенного отладчика для отладки дополнений и самого браузера. Для включения нужно указать в about:config devtools.chrome.enabled=true;
- Экспериментальный режим Remote Web Console для удалённой отладки Firefox для Android или Firefox OS. Для включения нужно указать в about:config devtools.debugger.remote-enabled=true;
Улучшения в бета-версии Firefox 19 для платформы Android:
- Расширена поддержка устройств на базе архитектуры ARMv6, в том числе добавлена возможность работы на смартфонах LG Optimus One, T-Mobile myTouch 3G, HTC Wildfire S и ZTE R750. Минимальные системные требования для запуска Firefox составляют 512 Мб ОЗУ, экран с разрешением HVGA и процессор с частотой 600Mhz (в прошлой версии требовался CPU 800 Mhz). По заявлению разработчиков Mozilla указанные изменения дадут возможность установить Firefox на 15 млн дополнительных устройств;
- Поддержка смены внешнего вида через использования дополнений с реализацией визуальных тем. Визуальные темы будут распространяться через раздел Personas в стандартном каталоге addons.mozilla.org. Пользователю достаточно выбрать понравившуюся тему и кликнут на кнопку её установки;
- Интеграция поддержки Firefox в виджете для быстрого поиска в Google. При желании пользователь теперь может использовать Firefox при поиска с домашнего экрана платформы Android.
Улучшения, ожидаемые в Firefox 20:
- Новая реализация приватного режима, предоставляющая возможность открытия отдельных окон в приватном режиме, а не только инициирования общего приватного сеанса. Новая функция даёт возможность открытия отдельного окна, все вкладки в котором будут работать без оседания данных в истории посещений и локальных кэшах. Кроме открытия нового окна в контекстное меню добавлена поддержка открытия в приватном окне текущей ссылки. В отличие от ранее доступного режима приватного просмотра, новый режим не сказывается на работе уже открытых вкладок и не требует закрытия активной сессии, позволяя комбинировать открытие сайтов в обычном и приватном режимах;
- Поддержка getUserMedia API для организации доступа к web-камере и микрофону локального компьютера (пользователю выводится специальное предупреждение с вопросом, согласен ли он предоставить доступ к оборудованию). В сочетании с такими API, как CSS-фильтры и webGL, новая возможность позволяет создавать гибкие средства для обработки получаемого с камеры контента. Поддержка getUserMedia API является важным шагом к широкому внедрению будущего стандарта WebRTC, нацеленного на реализацию для Web-средств для организации аудио и видео коммуникаций в режиме реального времени;
- Переработанный интерфейс для управления загрузками;
- Возможность закрытия зависших плагинов, без зависания всего браузера;
- Продолжение работа по увеличению производительности различных частей браузера, в том числе внесены изменения увеличивающие скорость загрузки страниц, уменьшающие задержку при завершении работы и ускоряющие фоновую загрузку файлов;
- Включение по умолчанию поддержки CSS3-свойства Flexbox, предназначенного для упрощённой блочной компоновки элементов на странице;
- Продолжение реализации новых элементов, представленных в черновике стандарта ECMAScript 6: добавлены вызовы clear() и Math.imul;
- В canvas добавлена поддержка режимов затенения;
- Расширение возможностей тегов audio и video: Поддержка атрибута playbackRate для контроля за скоростью воспроизведения потока, например, пользователь может просматривать видеопрезентацию в ускоренном режиме, приостанавливая воспроизведение только на интересующих моментах. Поддержка логического объединения нескольких Ogg-потоков (Ogg chaining);
- Добавлена новый инструмент для профилирования JavaScript-кода;