Релиз Firefox 7.0 и сопутствующих проектов Mozilla
Ключевые улучшения Firefox 7.0:
- В состав новой версии интегрированы наработки проекта MemShrink, специально созданного для устранения утечек памяти и решения проблем, связанных с потреблением памяти. В состав новой версии Firefox включены патчи, увеличивающие интенсивность активации сборщика мусора (неиспользуемая память теперь высвобождается более оперативно). Повышена эффективность хранения внутренних структур и оптимизированы различные компоненты, связанные с распределением памяти. Отдельно стоит отметить устранение серьёзной недоработки в JavaScript-движке, приводящей к излишней фрагментации памяти в процессе хранения одномегабайтных блоков для долгоживущих системных объектов (фрагментация из-за смешивания постоянных системных и временных данных).
При закрытии нескольких вкладок для дальнейшего использования отныне освобождается больше памяти. Приведение в порядок работы с памятью также положительно сказалось на производительности, стабильности и отзывчивости интерфейса, например, больше не наблюдается временных подвисаний на несколько секунд в процессе работы сборщика мусора.
В результате внесенных в Firefox 7 изменений, потребление памяти при длительном использовании Firefox удалось уменьшить примерно на 20-30%, а в некоторых ситуациях и на 50%;
- Почти в два раза увеличена производительность javascript-парсера, используемого для разбора загружаемого JavaScript кода на этапе до его непосредственного выполнения. Для интенсивно использующих JavaScript сайтов, таких как Gmail и Facebook, новый парсер обеспечивает ускорение загрузки примерно на 0.1-0.2 секунды;
- Ускорен запуск браузера на платформах Linux, Windows и Mac OS X. Значительно увеличена производительность вывода анимации при помощи тега Canvas на платформе Windows 7 за счет интеграции поддержки технологии Azure Direct2D. Улучшено качество рендеринга шрифтов на платформе Windows 7 с включённым аппаратным ускорением, которые теперь выглядят чище и отчетливее;
- В Firefox Sync добавлена поддержка мгновенной синхронизации закладок и паролей;
- В браузер добавлена опциональная возможность, позволяющая непрерывно накапливать различную информацию о потреблении памяти в процессе работы и учитывать в случае выявления проблем специфичные для данного сеанса параметры, такие как список открытых страниц. Например, собираются данные об изменении отраженных в "about:memory" параметров, числе открытых табов и прочая не привязанная к пользователю статистика. Собранные данные можно просмотреть введя в адресной строке "about:telemetry". Для включения поддержки требуется установка дополнения Telemetry. Сбор статистики включается по желанию пользователя и может быть отключён в настройках;
- По умолчанию прекращено отображение префикса "http://" в адресной строке и производится чистка корневого слэша после имени домена. Т.е. вместо "http://example.com/" отображается просто "example.com" (при копировании адреса в буфер обмена будет помещаться полный URL). Отображение "https://" сохранилось как прежде, слэш для подразделов также оставлен (например, "example.com/test/");
- Улучшения для web-разработчиков:
- В CSS-свойство "Text-Overflow" добавлена поддержка атрибута "ellipsis", нового и более наглядного способа отображения факта, что текст отображен не полностью, так как не входит по размеру в выделенную для его отображения область (добавляется многоточие вместо обрезания на полуслове в случае использования "Text-Overflow: clip");
- Поддержка спецификации Navigation Timing (WebPerf), позволяющей разработчикам web-приложений используя объект window.performance.timing получить реальные данные о показателях производительности браузера при работе с их сайтами, с учетом времени обработки отдельных элементов и реакции в процессе навигации. Т.е. измерить производительность с точки зрения субъективных ощущений пользователя;
- Удалено несколько устаревших свойств DOM-объектов и JavaScript-функций (Function.arity(), document.createEntityReference, document.normalizeDocument, Node.getFeature, getAsBinary(), getAsDataURL(), getAsText(), HTMLInsElement, HTMLDelElement, Function.arity и т.п.);
- Улучшена реализация MathML: добавлена поддержка атрибутов href и voffset; внутри элемента math теперь допускается использование любых атрибутов, свойственных элементу mstyle; поддержка шрифтов Asana Math; поддержка констант для типовых отступов с отрицательными значениями (например, negativethinmathspace эквивалентно -3/18em);
- Проведена работа по нормализации работы функций Canvas в ситуации передачи некорректных аргументов. Например, игнорируются некорректные значения в drawImage(), setTransform(), bezierCurveTo() и arcTo(), нормально обрабатывается передача нулевых параметров в strokeRect(). В toDataURL() добавлена поддержка дополнительного аргумента, через который можно передать уровень качества для JPEG-изображения;
- В объекте FileReader реализована поддержка метода чтения содержимого файла в массив readAsArrayBuffer();
- Для объекта Window добавлена поддержка свойств Window.ondeviceorientation и Window.ondevicemotion для чтения парамеров датчиков перемещения и ориентации экрана;
- Реализация WebSocket обновлена до восьмой версии протокола;
Из улучшений, специфичных для мобильной версии браузера Firefox 7, доступной для платформы Android, можно отметить:
- Поддержка копирования текста с произвольных web-страниц в буфер обмена и вставки из буфера обмена в формы ввода. Для выделения текста следует совершить длительное нажатие на нужную позицию экрана после чего не отрывая палец от экрана выделить нужную область;
- В меню добавлена кнопка "Выход" для завершения работы браузера, а не его сворачивания в фоне. После перезапуска содержимое открытых вкладок восстанавливается.
- При первом запуске определяется язык, используемый в настройках платформы Android, после чего данный язык автоматически используется для интернационализации интерфейса. Выбрать другой язык можно в настройках браузера.
- Продолжена работа по увеличению скорости отображения страниц и сокращению времени запуска браузера. Оптимизация производительности и сокращение потребления памяти остаются приоритетными направлениями развития Firefox Mobile;
- Увеличено качество вывода изображений на планшетах и телефонах на базе чипов Tegra;
- Добавлена поддержка WebSocket API.
Отдельно стоит отметить, что кроме новшеств и исправления ошибок в Firefox 7.0 и Firefox 3.6.23 устранено несколько уязвимостей. Всего устранено 10 уязвимостей, из которых 8 имеют критический характер и могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
Источник: http://www.opennet.ru/opennews/art.shtml?num=31865
|
0 | Tweet | Нравится |
|