LINUX.ORG.RU

Firefox 44

 ,


0

3

Доступен выпуск Firefox 44.

  • Запрет на установку неподписанных дополнений отложен на два выпуска. Mozilla передумала выпускать специальные версии браузера, где будет разрешена установка таких дополнений. Вместо этого, поддержка неподписанных дополнений сохранится в ESR-версиях (версиях с длительным сроком поддержки). Кроме того, появится поддержка временной установки неподписанных дополнений (которые будут автоматически удаляться после завершения работы).
  • Новое оформление страниц с сообщениями об ошибках сертификатов и недоверенных соединениях.
  • Задействование системного декодера H.264 (если он доступен). В системах, не поддерживающих MP4/H.264, включена поддержка видео WebM/VP9.
  • Поддержка алгоритма сжатия Brotli: заголовки Accept-Encoding и Content-Encoding поддерживают значение «br» (366559, 1211916).
  • Удалена поддержка заголовков HTTP/2, содержащих разрывы строк ('\n'). Они не разрешены спецификацией HTTP/2, в отличие от HTTP/1 (1197847).
  • В версиях для Linux и OS X добавлена возможность выполнения отрисовки через WebGL в отдельном потоке, не мешающем работе основного потока обработки контента. Запуск WebGL в отдельном потоке производится при помощи нового API OffscreenCanvas, добавленного в систему Web Worker-ов, предоставляющую средства для фонового выполнения длительных JavaScript-операций. Для включения, необходимо установить опцию gfx.offscreencanvas.enabled в значение «true» (709490). API включает интерфейс OffscreenCanvas и методы HTMLCanvasElement.transferControlToOffscreen(), WebGLRenderingContext.commit().
  • В движке включены по умолчанию Service worker-ы (предостережение для параноиков).
  • Windows-сборки подписаны сертификатами с использованием SHA-256, поскольку Microsoft более не считает надёжными сертификаты с SHA-1.


Инструменты разработчика:

  • Возможность щелчком правой кнопки по объекту в консоли сохранить его в качестве глобальной переменной.
  • Просмотр и правка ключевых кадров CSS-анимации прямо в Инспектора.
  • Визуальный редактор анимации.
  • Отображение линеек возле окна просмотра, чтобы быстро определять размер и положение объектов, а также погрешности в расположении и выравнивании.
  • Визуальный редактор фильтров CSS .
  • Инструмент для инспектирования потребления памяти.
  • Поддержка перехвата сетевой активности средствами Service Workers.
  • Встроенный просмотрщик JSON.
  • Переход определениям функций в отладчике по Cmd-Click
  • Переход к API для отладки WebSocket и соответствующее дополнение.
  • Новая горячая клавиша «S», соответствующая пункту контекстного меню Инспектора «прокрутить в вид» (1203147).
  • Команда для создания снимка экрана теперь позволяет выбрать разрешение.


CSS:

  • position: fixed; теперь всегда создаёт контекст стека (1179288).
  • Поддержка unicode-range (1119062).
  • Поддержка значения «sideways» свойством text-orientation (1193488).
  • Поддержка значений «sideways-rl» и «sideways-lr» свойством writing-mode (1193488, 1193519).
  • Нестандартные свойства "-moz-math-display" и "-moz-window-shadow" больше недоступны из веб-содержимого (1207002, 1211040, 1212607).
  • Свойство font-style теперь отличает «oblique» от «italic» (543715).
  • Несмотря на отсутствие поддержки, свойства «marks», «orphans», «page», «size» и «widows» анализировались и @supports ошибочно рапортовало, что они поддерживаются; это исправлено: они больше не анализируются и не отображаются поддерживаемыми (1215702).
  • Из списка допустимых значений свойства -moz-appearance удалено внутреннее значение "-moz-mac-unified-toolbar" (1206468).


HTML:


JavaScript:

  • Реализованы Symbol.toPrimitive, Symbol.prototype[@@toPrimitive] и Date.prototype[@@toPrimitive] (1054756).
  • Изменена семантика биндингов let и const на глобальном уровне (589199). Подробности. Это сломало все дополнения, собранные со старыми версиями JPM. Mozilla самостоятельно пересобрала дополнения, размещённые в официальном каталоге, с новой версией JPM. К сожалению, избежать нарушения совместимости невозможно, старая семантика была несовместима со спецификацией ES2016. Кроме того, перестанут работать все дополнения, собранные с помощью cfx.
  • Если конструктор типизированного массива (наподобие Int8Array и ArrayBuffer) вызван как функция без оператора new, будет выброшен TypeError (980945, 1214936).
  • Флаг «sticky» конструктора RegExp теперь соответствует спецификации ES2016 для якорных липких регулярных выражений (773687).
  • JavaScript shell переведён по умолчанию на стандартную, Web-совместимую версию JS (вместо JS1.7+) (1192329).
  • Прекращена поддержка let blocks (1167029).
  • Удалено нестандартное и устаревшее свойство Object.prototype.__noSuchMethod__ (683218).


API/DOM:

  • DOM & HTML DOM:
    • Для совместимости с некоторыми сайтами реализовано свойство Document.charset и сделано синонимом Document.characterSet (647621).
    • Удалена поддержка метода window.sidebar.addSearchEngine(), позволявшего веб-страницам вызвать установку Sherlock-плагинов (862148).
    • В целях борьбы со всплывающими окнами, запрещён показ сообщений с помощью Window.onbeforeunload, до тех пор, пока пользователь явно не начнёт взаимодействие со страницей (636905).
    • В целях обратной совместимости вновь реализован устаревший метод MessageEvent.initMessageEvent() (949376).
    • Удалён устаревший DocumentType.internalSubset (801545).
    • Для совместимости с некоторыми сайтами реализованы свойства Window.orientation, Window.onorientationchange и событие orientationchange (920734).
    • Фреймы с явным запросом полноэкранного режима не должны выходить из него неявно (1187801).
    • События mouseover, mouseout, mouseenter, mouseleave, pointermove, pointerover, pointerout, pointerenter и pointerleave теперь срабатывают для отключённых элементов форм (218093).
    • Добавлен метод Element.webkitMatchesSelector() (1216193).
    • Метод Document.createAttribute() теперь переводит ввод в нижний регистр (1176313).
  • WebGL: реализована поддержка Uniform Buffer Objects (1048747).
  • IndexedDB: доступны по умолчанию IDBIndex.getAll() и IDBIndex.getAllKeys() (1196841).
  • Service Workers:
    • Реализованы интерфейсы ServiceWorkerMessageEvent и ExtendableMessageEvent (1143717, 1207068).
    • Объекты Headers отныне поддерживают парные итераторы, что означает доступность методов Headers.entries(), Headers.keys() и Headers.values() (1108181).
    • XMLHttpRequest API отключён в Service Worker-ах (931243).
    • Интерфейс FetchEvent отныне распространяется на ExtendableEvent, давая ему доступ к методу ExtendableEvent.waitUntil() (1214772).
    • В соответствии со спецификациями, удалены FetchEvent.client (1218135) и ServiceWorkerContainer.onreloadpage (1218139).
    • Удалены обработчики событий ServiceWorkerGlobalScope.onbeforeevicted и ServiceWorkerGlobalScope.onevicted, поскольку они не следовали спецификациям. Будут реализованы позже (1218142).
    • Если в конструкторе FetchEvent() член «isReload» отсутствует в словаре вариантов, по умолчанию он принимает значение «false» (1216401).
    • Свойство Client.frameType реализовано в правильном интерфейсе; до этого оно было в WindowClient (1218146).
    • При использовании AppCache для получения оффлайн-версии страницы, в консоли теперь появляется предупреждение, советующее разработчику использовать вместо этого Service worker-ы (1204581).
  • WebRTC:
    • Интерфейсы WebRTC избавлены от префикса «moz» (1155923).
    • Реализованы свойства RTCDataChannel.bufferedAmountLowThreshold и RTCDataChannel.onbufferedamountlow, а также событие bufferedamountlow (1178091).
    • Добавлен атрибут RTCPeerConnection.canTrickleIceCandidates, удалён нестандартный метод RTCPeerConnection.updateIce() (1209744).
    • В интерфейс MediaStream добавлена поддержка методов MediaStream.addTrack() и MediaStream.removeTrack() (1103188).
    • Реализован конструктор MediaStream() (1070216).
  • Объекты URLSearchParams отныне поддерживают парные итераторы, что означает доступность методов URLSearchParams.entries(), URLSearchParams.keys() и URLSearchParams.values() (1085284).
  • Объекты FormData отныне поддерживают парные итераторы, что означает доступность методов FormData.entries(), FormData.keys и FormData.values() (1127703).
  • При использовании XMLHttpRequest.send() с документом HTML, он будет использовать text/html вместо application/xml (918771).
  • Реализован синтез речи (text-to-speech) в Firefox для Mac и Linux, соответствующая настройка media.webspeech.synth.enabled пока отключена (1003452, 1003464). Подробности.
  • Запрещены полноэкранные элементы внутри <frame> и <object> (1212299).


Безопасность:

  • Формы ввода логина и пароля, обращение к которым производится по HTTP, отныне помечаются небезопасными.
  • Отключена поддержка RC4 (1201025), очищен «белый» список сайтов, которым было разрешено использовать этот алгоритм (1215796).
  • Удалён 1024-разрядный корневой сертификат удостоверяющего центра Equifax.
  • Более строгая проверка веб-шрифтов.
  • Различные исправления безопасности.


Обзор новостей за последний месяц:

Подробности

>>> Подробности для разработчиков

★★★★★

Проверено: JB ()
Последнее исправление: Wizard_ (всего исправлений: 4)
Ответ на: комментарий от Deleted

Почитал доку на сайте, но что-то с наскока не понял. Вроде бы да, запускается фоновый сервис на стороне клиента с которым взаимодействует сайт. У GCM (гугловский аналог) соединение идёт через гугловские же серверы и приложение/сайт не знают о том, куда идут их пуши. Возможно, тут так же, но я такого в тексте не нашёл. Может, кто из знающих опишет механизм. В любом случае, это требует явного разрешения от пользователя, а число пушей, которые приложение может послать между заходами на сайт ограничено.

Weres ★★★
()
Ответ на: комментарий от Weres

GCM (гугловский аналог)

Охщи, теперь эта анальщина и на десктопы лезет. И кому впились уведомления от _закрытых_ страниц? Теперь и не будешь знать, точно ли закрыл сайт или он висит и следит в фоне.

anonymous
()
Ответ на: комментарий от anonymous

мало того, оно уже децкий прон вовсю качает с сайта фбр, и ты автоматом становишься преступником
АВТОМАТОМ, Карл :

https://geektimes.ru/post/269702/

...
Ссылки вели на специально сделанный сайт, размещённый на сервере ФБР. Там велись подробные логи и регистрировались IP-адреса всех посетителей, которые автоматически становились после этого преступниками.
...

[/offtop]

anTaRes ★★★★
()
Ответ на: комментарий от anTaRes

АВТОМАТОМ, Карл

Так выглядит вершина свободы и демократии, до которой тоталитарной рашке как до Луны.

anonymous
()
Ответ на: комментарий от Weres

Может, кто из знающих опишет механизм.

Firefox это первый браузер, который сделал оповещения по стандарту Push API. В Chrome используется проприетарный метод приёма оповещений и приделан к стандарту он костылем.

Скорее всего скоро и другие браузеры подключатся к этому стандарту, однако Firefox все таки не выполняет некоторые предписания. Например в отображении оповещения или его параметрах.

Man'ы описаны достаточно сумбурно и проще понять разработку по примеру — simple-push-demo.appspot.com Исходники есть на Github — github.com/gauntface/simple-push-demo/tree/master/app

http://habrahabr.ru/company/pushall/blog/273567/

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.