Вышла четвертая альфа-версия браузерного движка
Gecko 1.9.3a4, на базе которого будет построен Firefox 3.7 или 4.0.
Улучшения, добавленные в четвертой альфа-версии:
- Пользовательский интерфейс:
- Формы ввода текста теперь по умолчанию допускают произвольное изменение своего размера мышью;
- Если при наборе ключевых слов в строке ввода адреса, в списке выбранных ссылок имеются уже открытые во вкладках страницы, то они помечаются особым значком и при клике на них активируется уже открытая вкладка.
- Для Web-разработчиков: изменено поведение при выделении ранее открытых ссылок. SVG-атрибуты, которые сопоставлены с CSS-свойствами, теперь могут анимированы при помощи SMIL;
- Плагины: улучшена реализация системы изолированного выполнения плагинов в отдельном процессе, исправлены многие ошибки, добавлена поддержка изоляции плагинов для платформы Mac OS X;
- Производительность: Проведена работа по увеличению скорости перезапуска браузера в процессе установки обновления, время завершения работы теперь ускорено на 97%. Оптимизирован процесс ввода/вывода. Для платформ Windows Vista и Windows 7 добавлена поддержка аппаратной 2D-акселерации через задействование API Direct2D, а при выводе видео акселерации через использование OpenGL 2, в будущем поддержка технологий ускорения вывода графики ожидается также для платформ Linux и Mac OS X.
- Добавлена система JS-ctypes для обеспечения возможности вызова нативного кода из JavaScript-расширений;
- Осуществлен переход на улучшенный механизм распределения памяти, который позволит защититься от целого ряда уязвимостей, связанных с разыменованием NULL-указателей. При возникновении проблемы с выделением памяти аллокатор аварийно завершит работу, вместо возврата NULL-указателя.
Улучшения, добавленные в прошлых тестовых версиях:
- Интегрирована технология изолированного выполнения плагинов. Например, Flash плагин отныне будет работать в контексте отдельного процесса, не влияя на стабильность основного браузера;
- Объединение элементов "stop" и "reload" в одну кнопку, в случае если они находятся рядом на панели инструментов;
- Добавлена поддержка технологии CSP (Content Security Policy), направленной на интеграцию в web-браузеры средств для защиты от проведения CSRF-атак, организации межсайтового скриптинга (XSS) и подстановки в страницы "IFRAME/JavaScript src" блоков;
- Для тегов "input" и "textarea" добавлена поддержка атрибута "placeholder", в котором задается подсказка с примером заполнения элемента web-формы;
- Оптимизация производительности:
- Поиск ссылки в БД с историей посещений теперь производится в асинхронном режиме;
- Загрузка HTML5-спецификации более не приводит к ощутимым паузам;
- Увеличена скорость повторной прорисовки HTML в SVG теге "foreignObject";
- Улучшение производительности выполнения строковых операций в JavaScript;
- Добавлена возможность JIT-компиляции рекурсивных функций;
- Увеличена скорость отрисовки;
- Уменьшено время выполнения операций с DOM-деревом.
- В SSL-подсистему Firefox добавлен код для отключения возможности выполнения операций согласования установленного SSL-соединения (renegotiation) для серверов, подверженных атаке через подстановку данных в устанавливаемое между двумя точками защищенное соединение.
- Продолжена реализация поддержки CSS-трансформаций. Пока ещё не реализована анимация трансформаций и градиентов. CSS-трансформация позволяет применять для целых страниц или их элементов операции перемещения, вращения, наклона, масштабирования и матричных преобразований;
- Для SVG реализована поддержка SMIL-анимации. Поддержка анимации некоторых атрибутов SVG ещё находится в разработке, а элемент animateMotion ещё не поддерживается;
- Поддержка чернового варианта стандарта WebGL, определяющего способ формирования аппаратно ускоренного 3D контента без привлечения сторонних плагинов при помощи HTML5 конструкций "Canvas" и JavaScript реализации OpenGL API;
- Для объектов типа "диапазон" (range) добавлены новые методы getClientRects и getBoundingClientRect;
- Добавлена поддержка DOM-методов setCapture и releaseCapture;
- Реализована поддержка методов HTML5 History.pushState(), History.replaceState() и события popstate;
- Добавлена поддержка значения "-moz-image-rect()" для CSS элемента background-image, задающего параметры фонового рисунка;