Релиз Firefox 4.0

После 14 месяцев разработки официально представлен релиз web-браузера Firefox 4.0.

Ключевые улучшения:

  • Пользовательский интерфейс
    • Обновлен интерфейс пользователя: панель вкладок перемещена в верхнюю часть окна. В строку с табами можно добавлять различные элементы тулбаров, такие как закладки, адресную строку и блок для обращения к поисковым системам. В Windows-версии меню скрыто в одну кнопку. В Linux версии меню оставлено на прежнем месте, но строка с вкладками поднята над адресной строкой, что очень непривычно. Переместить строку вкладок под строку ввода адреса можно через контекстное меню, появляющееся при нажатии правой кнопки мыши на строке вкладок;
    • Кнопки "stop" и "reload" объединены в одну многофункциональную кнопку, которая перемещена в конец адресной строки. Добавлена домашняя вкладка "about:home" (иконка с домиком в правой части адресной строки) в которой присутствует форма обращения к поисковой системе (в русской сборке - Yandex) и ссылка на восстановление прошлой сессии;
    • Формы ввода текста теперь по умолчанию допускают произвольное изменение своего размера мышью;
    • Новый менеджер дополнений, который открывается в виде вкладки в основном окне браузера и оптимизирован для поиска и навигации по каталогу дополнений. Дополнительно в менеджер дополнений интегрирована поддержка управления поисковыми плагинами, которые теперь могут быть настроены в одном месте, наряду с визуальными темами и языковыми пакетами;
    • Новый менеджер для управления сохраненными паролями. Диалог для сохранения пароля для открытой страницы теперь можно вызвать в любое время, а не первые несколько секунд после открытия страницы;
    • В состав браузера интегрирован инструмент Web Console (Web Inspector), позволяющий отследить выполняемые запросы, проанализировать структуру документа (дерево DOM) и наглядно сопоставить визуально отображаемые элементы с участками HTML-кода и CSS. В итоге планируется получить простой и удобный инструмент инспектирования страниц, который тем не менее останется минималистичным и не будет пытаться конкурировать по функциональности с Firebug;
    • Если при наборе ключевых слов в строке ввода адреса, в списке выбранных ссылок имеются уже открытые во вкладках страницы, то они помечаются особым значком (добавляется пометка "перейти на вкладку") и при клике на них активируется уже открытая вкладка;
    • Добавлен режим плавной (при Page Down страница перематывается не мгновенно, а с некоторой задержкой, такой что перемещение строк становится заметным) и автоматической прокрутки (движение мышью при нажатой средней кнопке) содержимого страницы;
  • Базовые возможности
    • Поддержка в HTML5-теге "video" медиа-контейнера WebM и видеокодека VP8;
    • В состав интегрировано дополнение Mozilla Sync (Weave), позволяющее синхронизировать между разными машинами содержимое коллекции закладок, список открытых табов, сохраненные пароли, историю посещений и настройки;
    • Поддержка стандарта WebGL, определяющего способ формирования аппаратно ускоренного 3D контента без привлечения сторонних плагинов при помощи HTML5 конструкций "Canvas" и JavaScript реализации OpenGL API;
    • Поддержка технологии написания дополнений JetPack, установка которых производится без перезапуска web-браузера. Технология Jetpack представляет собой новый упрощенный способ расширения функциональности Firefox, через разработку расширений с использованием стандартных web-технологий (HTML, CSS и Javascript), без изучения внутренней структуры браузера и тонкостей технологии XUL. Добавлена система JS-ctypes для обеспечения возможности вызова нативного кода из JavaScript-расширений;
  • Для web-разработчиков
    • Улучшения платформы: интегрирован новый HTML5-парсер, улучшающий поддержку HTML5 (например, теперь можно не выносить SVG и MathML, а добавлять их прямо в код страницы) и позволяющий избавиться от множества ошибок старого парсера;
    • Появилась поддержка интерфейсов FormData и средств управления формами HTML5;
    • Поддержка IndexedDB API для создания индексируемых БД в браузере
    • Поддержка технологии web-сокетов (Web Sockets) для организации двунаправленного обмена данными между web-приложением и сервером (по умолчанию поддержка отключена);
    • Представлен API для управления переходом в полноэкранный режим, улучшение поддержки API для определения местоположения на основе данных от GPS-приемника. Изменено поведение при выделении ранее открытых ссылок. Для SVG реализована поддержка SMIL-анимации.
    • Продолжена реализация поддержки CSS-трансформаций. CSS-трансформация позволяет применять для целых страниц или их элементов операции перемещения, вращения, наклона, масштабирования и матричных преобразований;
    • Новые функции:
      • Для объектов типа "диапазон" (range) добавлены новые методы getClientRects и getBoundingClientRect;
      • Добавлена поддержка DOM-методов setCapture и releaseCapture;
      • Реализована поддержка методов HTML5 History.pushState(), History.replaceState() и события popstate;
      • Добавлена поддержка значения "-moz-image-rect()" для CSS элемента background-image, задающего параметры фонового рисунка;
      • Для тегов "input" и "textarea" добавлена поддержка атрибута "placeholder", в котором задается подсказка с примером заполнения элемента web-формы;
  • Внутренние изменения
    • Начало подготовки 64-разрядных сборок для Linux (раньше сборки формировались только для 32-рязрядных систем);
    • Новая встроенная страница "about:memory" показывает распределение памяти веб-браузером;
    • Некоторые настройки вынесены из about:config в CSS. Например, убраны директивы "browser.tabs.tabMinWidth" и "browser.tabs.tabMaxWidth", вместо них для расширения чиста одновременно отображаемых на экране вкладок необходимо переопределить в файле userChrome.css свойство "min-width". Тем не менее, использование данного метода привело к появлению странных проблем (в некоторых ситуациях при закрытии таба соседние табы не смыкались и образовывалось пустое место), проблему удалось решить только установкой дополнения custom-tab-width;
  • Оптимизация производительности
    • Поиск ссылки в БД с историей посещений теперь производится в асинхронном режиме;
    • Проведена работа по увеличению скорости перезапуска браузера в процессе установки обновления, время завершения работы теперь ускорено на 97%.
    • Оптимизирован процесс ввода/вывода.
    • Добавлена поддержка аппаратной акселерации при формировании вывода и при отображении видео;
    • Реализована технология отложенного построения фреймов для увеличения скорости работы динамических страниц;
    • Загрузка HTML5-спецификации более не приводит к ощутимым паузам;
    • Увеличена скорость повторной прорисовки HTML в SVG теге "foreignObject";
    • Улучшение производительности выполнения строковых операций в JavaScript;
    • Добавлена возможность JIT-компиляции рекурсивных функций;
    • Увеличена скорость отрисовки;
    • Уменьшено время выполнения операций с DOM-деревом.
  • Безопасность
    • Осуществлен переход на улучшенный механизм распределения памяти, который позволит защититься от целого ряда уязвимостей, связанных с разыменованием NULL-указателей. При возникновении проблемы с выделением памяти аллокатор аварийно завершит работу, вместо возврата NULL-указателя;
    • Поддержка технологии CSP (Content Security Policy), направленной на интеграцию в web-браузеры средств для защиты от проведения CSRF-атак, организации межсайтового скриптинга (XSS) и подстановки в страницы "IFRAME/JavaScript src" блоков;
    • Интегрирована технология изолированного выполнения плагинов. Например, Flash плагин отныне будет работать в контексте отдельного процесса, не влияя на стабильность основного браузера;

    В соответствии с новой схемой подготовки релизов, следующая версия Firefox 5 будет выпущена через 4 месяца. В будущей версии планируется реализовать новый интерфейс управления аккаунтами и простой интерфейс для обмена ссылками с друзьями (интеграция поддержки сервиса F1), добавить анимационные эффекты в пользовательском интерфейсе и подготовить 64-разрядную сборку для Windows.

    © OpenNet