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)

Когда они уже <details> сделают? На множестве сайтов javascript только для этого и используется.

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

Судя по повышенной активности в багтрекере в этом баге, возможно, что ждать осталось не так уж и долго.

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

А как же настроечку в любимом about:config?!

Этот вопрос разбирали миллион раз. Обходной путь в виде «настроечки в about:config приведёт лишь к тому, что малварь сходит в текстовый prefs.js и отключит её, после чего поставит свои дополнения.

Единственный вариант, при котором малвари делать нечего - не оставлять обходных путей. Что и будет сделано в обычном Firefox, который стоит у „обычных пользователей“. Остальным предлагается пересесть на ESR, если они непременно хотят неподписанные дополнения.

anonymous
()

Кстати, по уточнённым данным, небрендированные сборки с разрешением ставить на них, что угодно, всё же будут.

Итого, ценители неподписанных аддонов могут спокойно пользоваться браузером без логотипа и торговой марки Firefox, или пересесть на ESR-выпуски.

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

Если тебе хочется пользоваться Firefox 44, можно сделать скрипт, который сбрасывает LD_PRELOAD, а уже потом запускает настоящий firefox.

i-rinat ★★★★★
()
Ответ на: комментарий от skvitek

К - Костыли

Что именно? libGL.so.1 и libpthread.so.0 в каждый процесс инжектировать? :)

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

Видно меня в заблуждение ввели слова «в фоне следит за пользователем». Мне, к примеру, всё равно, знают ли какие-то товарищи что я пользуюсь браузером, и когда пользуюсь. Главное что-бы к ним не поступала подробная информация о том, как пользуюсь.

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

Нет, официальный переход отложили ещё в прошлый раз до 45. Говорят, в арче уже собирают с GTK3.

В Fedora тоже. И уже очень давно. Ещё до того, как это стало мейнстримом.

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

Всё работает через ffmpeg без gstreamer

Много писали что в Firefox для Linux включена поддержка декодирования H.264 через GStreamer. О ffmpeg не встречал. Так что браузеру конкретно надо, чтобы без gstreamer на ютубе показало поддержку h.264?

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

Этот вопрос разбирали миллион раз. Обходной путь в виде «настроечки в about:config приведёт лишь к тому, что малварь сходит в текстовый prefs.js и отключит её, после чего поставит свои дополнения.

Если малварь уже запущен на компе, то нафига тогда ему тот prefs.js?! Он может сразу бинарь фокса попатчить, вон новости про эксплойты для повышения привелегий тут недавно табуном пробегали.

В крайнем случае записать попатченный вариант в хомяк и перенаправить на него все user-specific лаунчеры. И в bashrc алиас повесить, на случай если юзер запускает браузер из командной строки...

В общем, слабо верится, что безопасность пользователей - это причина данного нововведения, а не лишь повод.

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

Много писали что в Firefox для Linux включена поддержка декодирования H.264 через GStreamer

Это было давно.

Так что браузеру конкретно надо, чтобы без gstreamer на ютубе показало поддержку h.264?

Точно не знаю, но у меня поддержка включена, при этом:

$ grep gst /proc/`pidof firefox`/maps
$ grep x264 /proc/`pidof firefox`/maps
7138c000-714bc000 r-xp 00000000 08:06 923548     /usr/lib/libx264.so.142
714bc000-714bd000 r--p 00130000 08:06 923548     /usr/lib/libx264.so.142
714bd000-714be000 rw-p 00131000 08:06 923548     /usr/lib/libx264.so.142

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

Обходной путь в виде «настроечки в about:config приведёт лишь к тому, что малварь сходит в текстовый prefs.js и отключит её, после чего поставит свои дополнения.

Если малварь уже пишет в файлы на диске, то зачем ей возиться с какими-то дополнениями к браузеру?

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

Спасибо за наводку, действительно ffmpeg+libx264 и на ютубе пишет о поддержке всего! :) Это разработчики pra linux с ffmpeg намутили :(

bohm ★★★★★
()

Внезапно узнал, что хромиум умеет в нормальные шрифты (до этого не мог изменить стиль хинтинга, оказалось - настройки с /etc/fonts/local.conf он не читает, а с ~/.fonts.conf без проблем) и видеоускорение vaapi (в лисе ковырялся с настройками пару раз, но ничего, кроме регулярных крашей, не добился). При этом хромиум еще и стартует гораздо шустрее. Нужность фаерфокса под большим вопросом, разве что для конкуренции.

anonymous
()

Mozilla передумала выпускать специальные версии браузера, где будет разрешена установка таких дополнений.

http://www.opennet.ru/opennews/art.shtml?num=43722

Также подтверждено формирование обезличенных сборок релизов и бета-выпусков Firefox, которые будут распространяться параллельно с официальными версиями и не требовать обязательного использования подписанных дополнений.

Таки кто прав?

Falcon-peregrinus ★★★★★
()
Последнее исправление: Falcon-peregrinus (всего исправлений: 1)

Mozilla передумала выпускать специальные версии браузера, где будет разрешена установка таких дополнений.

[источник не указан 5 дней]

proud_anon ★★★★★
()

Лучше чем Хром.

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

Собрал 45.0b2 - точно так же падает.

Я только на Nigthly проверял.

Кстати, любой ff падает, если нажать в нём Ins.

Эпично.

i-rinat ★★★★★
()
Ответ на: комментарий от panzerito

Для кроссплатформенности

Для того, кто сумел получить доступ на запись в хомяк, написание кросс-платформенного малваря будет непреодолимой трудностью, да...

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