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)
  • Переход определениям функций в отладчике по Cmd-Click


Кто такая Cmd?!

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

Жрет он не сильно меньше, чем хром, да еще иногда и течет, что полностью нивелирует какие-либо преимущества лиса в области памяти. Хром же прекрасно работает что на телефоне, что на недобуке, что на Raspberry Pi с очень ограниченным объемом памяти. При этом планки-то памяти можно докупить, а вот от тормозов избавиться так просто не получится.

trycatch ★★★
()

Каждый релиз я даю ему шанс.

Но он тормозит безбожно. Если открыть 10-15 вкладок и поработать с ними полчаса, то гуй тормозит катастрофически. Открытие новой вкладки — секунда. Переключение между вкладками — 1,5 секунды.

И ставил с нуля, и профиль чистил, и без add-on запускал — ничего не помогает.

PS win10 x64, RAM 8 гиг, i7.

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

То же самое наблюдаю. Профилировщик, встроенный в инструменты разработчика (которые ctrl+shift+i), говорит, что дело в сборщике мусора.

trycatch ★★★
()

Субъективно намного шустрее предыдущей версии. Но теперь панель вместо системной темы стала какой-то серой.

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

win10 x64

Так и должно быть. Винда тормозит by design.

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

Но тот же IE11 быстрее вкладки переключает. Про хром, оперу и даже вивальди я молчу. У всех у них быстрый интерфейс.

Что так утворили в Мозилле, что ФФ стал сливать, непонятно :(

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

win10

this. Потому что у меня на линуксе с атлоном вместо процессора полсотни вкладок — новая вкладка ~0.1s, переключение между вкладками ~0.2s.

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

Фантастика!

Было бы у меня так, сидел бы на ФФ.

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

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

Когда ждать на ЛОРе? Я бы не отказался от оповещалки об уведомлениях, даже при закрытом ЛОРе.

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

Ага, this...

Нравится мне эти заявления фанатиков и сравнения такого рода. Юзеркейсы у людей разные, кто-то откроет полсотни вкладок ЛОРа и не особо активно пользоваться будет, а кто-то с тяжелейшими джваскриптами.

Вообще одной крутой вкладки с джаваскриптом достаточно, чтоб фурифокс раком встал, чего нет на других браузерах.

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

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

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

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

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

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

это никак нельзя отключить... :(

пока не включишь

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

я и так знаю, чем я пользуюсь, мне не нужен опрос

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

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

есть спеки. есть сорцы фаерфокса. не уверен - иди читай.

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

Конкретно в моём случае это несклько вкладок с ящиками gmail, несколько с google adwords, несколько с яндекс директ.

Остальное — лор, хабр, и что-то типа такого:

http://hotinsocialmedia.com/

http://searchengineland.com/

https://www.searchenginejournal.com/

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

Вот специально провел тест.

С этого сайта http://searchengineland.com/ я открыл 50 вкладок с разными статьями. Проскролил вниз-вверх каждую статью. Через 10 минут закрыл 40 вкладок. Причем закрытие уже сопровождалось тормозами интерфейса.

Теперь 10 открытых вкладок и тормоза гуя.

Протестируйте у себя.

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

Да, памяти жрет при этом с 50 вкладками 1,2 гига. С 10 вкладками — 0,8 гига.

Aprel
()
Ответ на: комментарий от dk-

Работаешь переключателем вкладок? При таком количестве основное время будет уходить на переключение, если они тебе все нужны одновременно, иначе они таки не нужны одновременно и ты просто не осилил закладки. c:pheasant как бы намекает.

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

Но он тормозит безбожно. Если открыть 10-15 вкладок и поработать с ними полчаса, то гуй тормозит катастрофически. Открытие новой вкладки — секунда. Переключение между вкладками — 1,5 секунды.

Ути пути. Маленького мальчика обидели, вкладочки у него медленно работают. Пожалейте маленького. Ути маленький, не плачь.

Michail_Ul ★★
()

Mozilla передумала выпускать специальные версии браузера
передумала

Да они хуже девочек! То хочу, то не хочу. Как можно пообещать, а потом передумать? Там у всей команды руководителей гормональные расстройства?

anonymoos ★★★★★
()
Ответ на: комментарий от 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
()
Ответ на: комментарий от Aprel

Тоже всегда пробую новую версию и те же тормоза наблюдаю при переключении вкладок. И CPU жрет под 100% где Chromium 20%. А хотелось Firefox пользоваться.

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

В запущенном ФФ открыто 15 вкладок уже давно. Запустил новый, открыл с того сайта 42 новых статьи, проскролил, подождал. При открытии тормозило. Когда всё прогрузилось - никаких тормозов. И это при том, что у меня аддонов пачка установлена: AdBlock+, Chostery, change hosts, flagfox, tab mix plus и ещё несколько.

CPU i5-2400, 8гб оперы, вин7. В сумме ФФ захавал 1.95Гб.

P.S. на закрытии всего окна с вкладками ФФ затупил. Зохавал одно ядро и ни на что не реагировал. Видать, сохранял всё в сессию. Потом отпустило, шустр как обычно. Память упала до 1.3Гб.

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

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

ты думаешь, что если 80% скажут, что пользуются хромоногим, я одумаюсь и сменю тормозиллу на стильный модный молодежный браузер?

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

Паника на ровном месте. Да, сайт сможет, будучи даже закрытым, обновлять свой кэш и слать уведомления. Но он и так это может делать, пока открыт. Старым добрым JS. То есть, ничего такого вроде «стырить все твои картинки с детским проном» он не сможет, поскольку доступные действия регламентируются стандартами.

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

А это уже проблемы вкладко-скрипто-писателей, веб-макак. Если бы браузеры не подчищали гавно за обезьянами и не выправляли касяки, а падали бы с исключениями при малейшем отходе от спеков — все сайты бы летали, и обезьян среди веб-разработчиков не было.

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

Нет, Push API - это немного другое. Это API используется вывода браузером уведомлений о том, что кто-то что-то опубликовал в вашей ленте на facebook или о появлении нового сообщения на вашем любимом новостном сайте. Иногда это очень удобно.

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