Реклама
Перетяжка // Коробка 3.0

Firefox для iOS получил блокировщик рекламы, а Firefox 155 функцию progress()

На iPhone у Firefox нет привычных расширений, поэтому Mozilla встроила блокировщик прямо в браузер. Плюс разбор того, что Firefox 155 принёс верстальщикам и почему обновиться стоит из-за бюллетеня безопасности.

Обложка: Firefox для iOS получил блокировщик рекламы, а Firefox 155 функцию progress()

Mozilla 1 сентября добавила в Firefox для iOS встроенный блокировщик рекламы. На iPhone это важнее, чем звучит: расширения в iOS-версии Firefox, по формулировке Mozilla, «недоступны таким же образом», как на десктопе и Android, а браузер работает на движке WebKit от Apple, поэтому uBlock Origin туда не поставить. Теперь блокировка есть в настройках, но выключена по умолчанию.

В тот же день вышел Firefox 155 для десктопа, и для верстальщиков в нём есть чем заняться: CSS-функции progress() и alpha(), свойство font-width, attr() в любом свойстве, а в JavaScript Promise.allKeyed(). Обновиться стоит и без новинок: бюллетень безопасности MFSA 2026-82 закрывает несколько уязвимостей высокого уровня.

Ключевые выводы
  • Блокировщик в Firefox для iOS включается в Settings, затем Browsing, затем Ad Blocker; по умолчанию выключен, расширение ставить не нужно.
  • Работает на технологии Apple WebKit Content Blocker и списке EasyList; рекламу в поисковой выдаче и рекламу самих сайтов может пропускать.
  • Firefox 155: CSS progress(), alpha(), font-width, attr() везде; Promise.allKeyed() и allSettledKeyed(); согласование QUIC v2 для HTTP/3; NDJSON в JSON Viewer.
  • MFSA 2026-82 закрывает уязвимости высокого уровня, среди них CVE-2026-84119, 84143 и 84144, и повышение привилегий в Firefox для Android.
  • Минимальную версию iOS для блокировщика Mozilla не назвала; доступность функции по регионам анонс не описывает.

Почему блокировщик пришлось встраивать

Apple разрешает сторонним браузерам блокировать контент только через свой механизм Content Blocker: приложение отдаёт WebKit готовый список правил, а сам движок решает, какие запросы не выполнять. Расширение не может «посмотреть» на страницу и вмешаться в её код, как это делает uBlock Origin на десктопе. Mozilla взяла список EasyList, самый распространённый набор правил для рекламы, и упаковала его в такой блок правил внутри приложения.

Ad Blocker uses Apple's WebKit Content Blocker technology and the EasyList filter list.
Mozillaанонс функции (перевод: «Блокировщик использует технологию WebKit Content Blocker от Apple и список фильтров EasyList»)

Из этой архитектуры следуют ограничения, которые Mozilla перечисляет сама. Реклама, которую сайт отдаёт с собственного домена, может остаться, потому что её не отличить от контента по URL. Реклама в результатах поиска не блокируется. Рекламные ярлыки на стартовой странице самого Firefox к блокировщику не относятся. Включается всё в три касания: Settings, Browsing, Ad Blocker; там же выключается, если сайт перестал работать.

Что Firefox 155 даёт верстальщику

По заметкам для разработчиков на MDN, самое полезное в CSS — функция progress(): она возвращает долю от 0 до 1, показывающую, где значение находится между двумя границами. Раньше такой расчёт делали руками через calc(), теперь адаптивные размеры шрифта и отступов записываются короче. Функция alpha() меняет прозрачность цвета без переписывания его в rgb(), а attr() отныне работает в любом свойстве, а не только в content.

			/* размер шрифта плавно растёт от 16 до 24 px между шириной 320 и 1200 px */
h1 {
  font-size: calc(16px + 8px * progress(100vw, 320px, 1200px));
}
		

В JavaScript добавились Promise.allKeyed() и Promise.allSettledKeyed(): они принимают объект с промисами и возвращают объект с теми же ключами, так что не нужно сопоставлять результаты по индексам массива. Свойство font-width заменило font-stretch, старое имя оставлено как псевдоним. Если импорт модуля упал из-за временной ошибки сервера, повторный импорт теперь может выполниться успешно; это касается JS, JSON, CSS и текстовых модулей. В сетевом стеке появилось согласование QUIC version 2 для HTTP/3, а JSON Viewer в DevTools научился читать NDJSON построчно.

			const { user, orders } = await Promise.allKeyed({
  user: fetch('/api/user').then(r => r.json()),
  orders: fetch('/api/orders').then(r => r.json()),
});
		

Для автотестов: в WebDriver BiDi исправлены перезагрузка фреймов, подписки и конфликт с DevTools, в WebRTC добавлена поддержка двухбайтовых RTP-заголовков с идентификаторами от 15 и новые поля статистики. Перед использованием progress() и alpha() в проде стоит сверить поддержку в Chrome и Safari на caniuse: MDN описывает только Firefox.

Почему обновиться сегодня

Бюллетень MFSA 2026-82 сопровождает релиз набором исправлений. CVE-2026-84119 (выход из песочницы через use-after-free в навигации DOM), CVE-2026-84143 и CVE-2026-84144 помечены как уязвимости высокого уровня, CVE-2026-84142 объединяет внутренне найденные ошибки памяти умеренного уровня. Отдельно для Firefox на Android бюллетень называет повышение привилегий (CVE-2026-84117, высокий уровень) и раскрытие информации через WebExtensions (CVE-2026-84127, умеренный уровень). Обновление на 155 закрывает всё это разом; на десктопе и Android оно важнее новых функций.

Что дальше

Mozilla объясняет встроенный блокировщик ограничениями расширений на iOS и формулирует их как «недоступны таким же образом», а не «невозможны навсегда»: в ЕС и Японии Apple уже допускает альтернативные движки, и если Firefox на iOS когда-нибудь перейдёт на Gecko, вопрос с расширениями встанет заново. Пока же блокировщик работает ровно в тех пределах, которые задаёт Content Blocker API.

Источники: Introducing Ad Blocker for Firefox on iOS (Mozilla), Firefox 155 for developers (MDN), Mozilla Foundation Security Advisory 2026-82

Изображение на обложке: Mozilla

Рекомендуем