Объявлено о выпуске Firefox 41.
- Аватары в профилях Firefox Account.
- Обмен мгновенными сообщениями во встроенном чате Firefox Hello.
- Поддержка фавиконов в формате SVG (366324).
- Веб-страницы с помощью JavaScript могут копировать и вырезать в буфер обмена. Больше не требуется Flash, чтобы реализовать функции наподобие «нажмите, чтобы скопировать в буфер обмена» (подробности в дискуссии разработчиков).
- Удалена настройка browser.newtab.url, отвечающая за URL новых вкладок (1118285). При желании, данную функциональность можно вернуть дополнением.
- WebRTC отныне использует совершенную прямую секретность.
- В ряде случаев вдвое ускорена отрисовка изображений, особенно во время прокрутки. Ускорена отрисовка элементов с box-shadow (тени).
- Анимации CSS стали асинхронными, что повысило плавность и отзывчивость (706179).
- Прекращена поддержка бинарных XPCOM-компонентов в дополнениях. Вместо этого следует использовать API system/child_process, запускающий бинарные компоненты в отдельном процессе, а не в адресном пространстве Firefox.
- Новое оформление интерфейса восстановления сеанса и стартового экрана.
- Удалена поддержка заголовка
X-Content-Duration
(1160695).
Инструменты разработчика:
- Возможность сделать скриншот элемента DOM.
- Добавлено больше опций для копирования правил CSS
- Возможность экспорта сетевых запросов в формате HAR.
- В Инспектор добавлена панель для манипуляции псевдоклассами.
- Просмотр исходного кода веб-страниц во вкладке, вместо открытия отдельного окна (настройка view_source.tab, по умолчанию отключена).
- В Инспектор добавлена кнопка для быстрого добавления правил CSS и возможность копировать изображения в формате data: URI.
- В консоль добавлена команда security csp, отображающая информацию, связанную с CSP.
CSS:
- Поддержка различных направлений (1138384). Доступны следующие свойства CSS:
- Выбор направления письма: writing-mode.
- Контроль направления символов: text-orientation.
- Независимые от направления эквиваленты width и height: block-size и inline-size.
- Независимые от направления эквиваленты min-width и min-height: min-block-size и min-inline-size.
- Независимые от направления эквиваленты max-width и max-height: max-block-size и max-inline-size.
- Независимые от направления эквиваленты margin-top, margin-right, margin-bottom и margin-left: margin-block-start, margin-block-end, margin-inline-start и margin-inline-end.
- Независимые от направления эквиваленты padding-top, padding-right, padding-bottom и padding-left: padding-block-start, padding-block-end, padding-inline-start и padding-inline-end.
- Независимые от направления эквиваленты border-top, border-right, border-bottom и border-left: border-block-start, border-block-start-width, border-block-start-style, border-block-start-color, border-block-end, border-block-end-width, border-block-end-style, border-block-end-color, border-inline-start, border-inline-start-width, border-inline-start-style, border-inline-start-color, border-inline-end, border-inline-end-width, border-inline-end-style и border-inline-end-color.
- Независимые от направления эквиваленты top, right[, bottom и left: offset-block-start, offset-block-end, offset-inline-start и offset-inline-end.
- Элементы SVG поддерживают свойство transform-origin (923193).
HTML:
- Тег <a> без атрибута
href
больше не учитывается в качестве интерактивного содержимого (1167816). - Поддержка атрибута crossorigin у
<link rel='preconnect'>
(1174152).
JavaScript:
- Date.prototype теперь является обычным объектом, а не экземпляром Date (861219).
- Date.prototype.toString теперь является обобщённым методом (861219).
- Добавлено свойство Symbol.species (1131043).
- Добавлены геттеры Map[@@species] и Set[@@species] (1131043).
- Удалена поддержка нестандартных let-выражений (1023609).
- Поддержка деструктурированных параметров с присвоение значения по умолчанию (1018628).
- Для определений методов теперь требуются фигурные скобки (1150855).
- Определения методов (за исключением методов-генераторов) больше не конструируются (1059908, 1166950).
- Заключённые в скобки деструктурирующие паттерны, наподобие
([a, b]) = [1, 2]
или({a, b}) = { a: 1, b: 2 }
, признаны недопустимыми и выбрасывают SyntaxError. Подробности в блоге Jeff Walden. - Добавлен синтаксис new.target (1141865).
API/DOM:
- Document.queryCommandSupported(), с командой
paste
в качестве аргумента, теперь возвращаетfalse
если у него не хватает привилегий для выполнения действия (1161721). - Document.queryCommandSupported(), с командой
cut
илиcopy
в качестве аргумента, теперь возвращает true, если вызван в контексте привилегированного или инициированного пользователем кода (1162952). - Document.execCommand(), с командой
cut
илиcopy
в качестве аргумента, теперь работает лишь в контексте привилегированного или инициированного пользователем кода (1012662). - Удалены нестандартный метод CloseEvent.initCloseEvent() и возможность создавать CloseEvent с помощью Event.createEvent(’CloseEvent’). Вместо этого следует использовать стандартный конструктор CloseEvent() (1161950).
- Добавлены безпрефиксные версии MouseEvent.movementX и MouseEvent.movementY. Версии с префиксом объявлены устаревшими и будут удалены позже (1164981).
- Web Crypto: методы SubtleCrypto.importKey() и SubtleCrypto.exportKey() поддерживают ключи ECDH (1050175).
- Canvas API:
- Добавлены методы HTMLCanvasElement.captureStream() и CanvasCaptureMediaStream, позволяющие осуществлять потоковое вещание содержимого <canvas> в реальном времени (1032848).
- MediaStream.id возвращает уникальный идентификатор потока (1089798).
- Начальное значение CanvasRenderingContext2D.filter корректно устанавливается в
none
(1163124).
- Service Workers:
- Реализован метод ServiceWorkerGlobalScope.skipWaiting() (1131352).
- Добавлен метод Clients.claim() (1130684).
- Прочие функциональные события Service Worker-ов сделаны наследуемыми от ExtendableEvent, что дало им доступ к методу waitUntil() (1160527).
- Добавлена поддержка интерфейсов CacheStorage и Cache (1110144).
- Включена по умолчанию поддержка MessageChannel API и MessagePort API (952139, 911972). Эти API доступны и Web worker-ам.
- В Web worker-ах доступны User Timing API (1155761), Notifications API (916893), а также DOMRequest и DOMCursor (1167650).
- Включена по умолчанию поддержка CSS Font Loading API (1149381).
- Общие worker-ы больше не могут быть общими между приватными (открытыми в приватном режиме просмотра) и неприватными документами (1177621).
- Свойство URLUtils.searchParams помечено, «только для чтения», чтобы сделать интерфейс URLSearchParams не таким запутанным (1174731).
- Свойство URLUtils.hash больше не декодирует фрагмент URL (1093611).
- Настройка media.autoplay.enabled отныне влияет и на недоверенные вызовы HTMLMediaElement.play() (659285).
MathML:
Безопасность:
- Добавлена поддержка директивы
manifest-src
из спецификации CSP 1.1 (bug 1089255).
За истёкший период разработчики поделились планами реализовать контекстные контейнеры, перейти на новый API дополнений, совместимый с Chromium, снизить энергопотребление браузера, а также немного отложили переход к обязательному подписыванию дополнений.
>>> Подробности