PDA

Просмотр полной версии : Релиз Chrome 88


Suicide
21.01.2021, 20:39
Компания Google представила (https://chromereleases.googleblog.com/2021/01/stable-channel-update-for-desktop_19.html) релиз web-браузера Chrome 88 (http://www.google.com/chrome). Одновременно доступен (https://www.chromium.org/developers/calendar) стабильный выпуск свободного проекта Chromium (http://dev.chromium.org/), выступающего основой Chrome. Браузер Chrome отличается (https://code.google.com/p/chromium/wiki/ChromiumBrowserVsGoogleChrome) использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров (https://www.opennet.ru/opennews/art.shtml?num=26822). Следующий выпуск Chrome 89 запланирован на 2 марта.

Основные (https://support.google.com/chrome/a/answer/7679408#88) изменения (https://blog.google/products/chrome/faster-chrome/) в (https://developers.google.com/web/updates/2021/) Chrome (https://blog.chromium.org/2020/12/chrome-88-digital-goods-lighting.html) 88 (https://v8.dev/blog/v8-release-88):


Для небольшого процента пользователей включена поддержка профилей для разделения учётных записей пользователей. Пользователь может создать новый профиль Chrome и настроить его активацию при подключении к определённой учётной записи в Google, что позволит разным пользователям разделять свои закладки, настройки и историю посещений. При попытке входа в учётную запись, привязанную к другому профилю, пользователю будет предложено переключиться на этот профиль. При наличии у пользователя привязки к нескольким профилям, будет предоставлена возможность выбора желаемого профиля.

В состав включена (https://www.opennet.ru/opennews/art.shtml?num=54230) третья редакция манифеста Chrome, которая пока предложена опционально. Разработчикам предоставлена возможность создания дополнений с использованием Manifest V3, но поддержка дополнений, использующих вторую версию манифеста, какое-то время будет сохранена. Дата прекращения поддержки Manifest V2 пока не определена, но период миграции на новый манифест продлится как минимум год. Манифест Chrome определяет возможности и ресурсы, предоставляемые дополнениям. Новый манифест разработан в рамках инициативы по усилению безопасности, конфиденциальности и производительности дополнений. Главной целью вносимых изменений является упрощение создания безопасных и высокопроизводительных дополнений, и усложнение возможности создания небезопасных и медленных дополнений. Обратной стороной нового манифеста является нарушение работы многих дополнений для блокирования нежелательного контента и обеспечения безопасности из-за ограничений в использовании блокирующего режима работы API webRequest.

С целью блокирования утечки (https://www.opennet.ru/opennews/art.shtml?num=53178) поисковых ключей через DNS, по умолчанию прекращена обработка ввода отдельных слов в адресной строке как потенциальных сайтов. До сих пор, в случае ввода одного слова в адресной стоке, браузер вначале пытался в DNS определить наличие хоста с таким именем, полагая, что пользователь пытается открыть поддомен, и уже потом перенаправлял запрос поисковой системе. Таким образом, владелец DNS-сервера, указанного в настройках пользователя, получал сведения о состоящих из одного слова поисковых запросах, что оценивалось как нарушение конфиденциальности. Для предприятий, использующих интернет-хосты без поддомена (например, "https://helpdesk/") предоставлена опция для возвращения старого поведения.

Для небольшого процента пользователей предложен новый ненавязчивый интерфейс подтверждения полномочий, в котором запросы на подтверждение показываются в адресной строке перед доменом, не отвлекая пользователя. В отличие от ранее применявшихся запросов, новый интерфейс не требует мгновенного решения и остаётся на виду, давая возможность подтвердить или блокировать полномочия при возникновении необходимости.https://www.opennet.ru/opennews/pics_base/0_1611220267.png (https://lh3.googleusercontent.com/Sn-cBRRigSDOBWGID1UNHv0Jvl9oTNIPS5p7Ti59Dl4PIPOxpB8sG lvrVzngy_rO7V7l=w700)

Проведена (https://security.googleblog.com/2021/01/new-year-new-password-protections-in.html) модернизация менеджера паролей. Добавлена кнопка для проверки сохранённых паролей на надёжность с возможностью быстрой смены небезопасных паролей. Реализован интерфейс для смены паролей сразу для нескольких учётных записей, связанных с одним сайтом.https://www.opennet.ru/opennews/pics_base/0_1611226625.png (https://1.bp.blogspot.com/-yzCrEfqLb6g/YAc7IWTksUI/AAAAAAAADco/g1uKN-N5es4BfqDTxakkberZN-VzX1jiQCNcBGAsYHQ/s0/Blog%2Basset_Weak%2Bpassword%2Baudit.gif)

Добавлена экспериментальная поддержка быстрого поиска вкладок, которая ранее была ограничена версией для Chrome OS. Пользователь может просмотреть список всех открытых вкладок и быстро отфильтровать нужную вкладку, независимо от того в текущем или другом окне она находится. Для включения поиска вкладок можно использовать флаг "chrome://flags/#enable-tab-search".https://www.opennet.ru/opennews/pics_base/0_1605710575.png (https://www.opennet.ru/opennews/pics_base/0_1605710567.png)

Расширена защита от небезопасной отправки форм ввода на страницах, загруженных по HTTPS, но отправляющих данные по HTTP. Предупреждение о потенциальном риске передачи данных через незашифрованный канал связи при отправке смешанной формы теперь выводится не в виде индикатора, а в форме отдельной промежуточной страницы, требующей подтверждения выполняемого действия. Изначально новое предупреждение было добавлено в один из прошлых выпусков, но сразу отменено из-за всплывших проблем с редиректами. Теперь эти проблемы решены и предупреждение выводится не только при прямой отправке формы по "http://", но и при попытке редиректа на "http://" с использованием кодов 307 и 308, допускающих проброс данных POST-запроса.

На платформе Android для определённого процента пользователей реализована новая кнопка с микрофоном, показываемая в верхней панели, рядом с адресной строкой. Кнопка позволяет через Google Assistant прочитать текущую страницу или перевести на другой язык.

Для всех пользователей включён режим урезания активности фоновых вкладок ("Tab Throttling"), который в прошлом выпуске был предложено небольшому проценту пользователей. Браузер теперь отдаёт приоритет активным вкладкам и ограничивает потребление CPU фоновыми вкладками, снижая интенсивность пробуждения процессора. В соответствии с собранной статистикой около 40% потребления ресурсов при вызове таймеров JavaScript приходилось на фоновые вкладки. Подобные вкладки после пяти минут нахождения в фоне теперь могут активироваться не чаще одного раза в минуту, за исключением операций воспроизведения мультимедийного содержимого, обработчиков сетевых событий и поступивших уведомлений, активных потоков RTCDataChannel и MediaStreamTrack. Проведённое тестирование показало, что внесённые изменения при наличии большого числа открытых вкладок позволили до 5 раз снизить нагрузку на CPU и продлить время автономной работы более чем на час.

Для всех пользователей на страницу, показываемую при открытии новой вкладки, добавлены информационные карты, помогающие найти недавно просматриваемый контент и связанную с ним информацию. Карты призваны упростить продолжение работы с информацией, просмотр которой был прерван. Например, карты помогут найти рецепт блюда, который недавно был найден в сети, но утерян после закрытия страницы, продолжить выбор покупок в магазинах или вернуться к просмотру прерванного видео.

Для пользователей, входящих в учётную запись Google, предоставлена возможность доступа к методам платежей и паролям, сохранённым в учётной записи Google, без включения Chrome Sync.

Обеспечена приостановка вывода web-уведомлений при показе презентации или предоставлении совместного доступа к экрану. Накопившиеся уведомления будут показаны после завершения сеанса совместного доступа.

Прекращена поддержка протокола FTP. Постепенное урезание поддержки FTP началось ещё в Chrome 63, а в Chrome 77 поддержка FTP была отключена по умолчанию для 50% пользователей, но был оставлен флаг для её возвращения. В Chrome 88 поддержка FTP полностью отключена.

Удалён код, связанный с обработкой Flash-контента. Поддержка Flash Player компанией Adobe была официально прекращена 31 декабря. Предприятиям, которым необходима поддержка Flash, предложено воспользоваться отдельным сервисом HARMAN (https://services.harman.com/).

Удалён код для поддержки протокола DTLS 1.0 (Datagram Transport Layer Security), основанного на TLS 1.1 и использовавшегося в WebRTC для передачи звука и видео. Вместо DTLS 1.0 рекомендуется использовать DTLS 1.2, основанный на TLS 1.2 (спецификация DTLS 1.3 на базе TLS 1.3 ещё не готова).

В Chrome Web Store прекращена поддержка дополнения Legacy Browser Support (LBS), обеспечивающего совместимость со старыми дополнениями. Функциональность LBS теперь встроена (https://support.google.com/chrome/a/answer/9270076?hl=en&ref_topic=9270153) в Chrome.

Прекращена поддержка Google Cloud Print и убрана возможность сохранения в Google Drive со страницы управления выводом на печать (пользователям отныне потребуется осуществить печать в PDF и затем вручную загружать результат в Google Drive в при помощи меню "New > File upload" на сайте drive.google.com).

Прекращена поддержка платформы OS X 10.10 (https://en.wikipedia.org/wiki/OS_X_Yosemite) (Yosemite), выпущенной в 2014 году. В качестве минимальной версии macOS заявлен выпуск OS X 10.11 (El Capitan).

Достигла финальной стадии инициатива по блокированию небезопасной загрузки (https://www.opennet.ru/opennews/art.shtml?num=52329) (без шифрования) контента. В новой версии реализована блокировка небезопасной загрузки мультимедийных данных, текстовых файлов и изображений. Блокировка реализована, так как загрузка файлов без шифрования может использоваться для совершения вредоносных действий путём подмены содержимого в процессе MITM-атак. Ранее была включена блокировка небезопасной загрузки исполняемых файлов, архивов (zip, iso и т.п.) и документов (docx, pdf и т.п.). Для платформы Android введение ограничений отстаёт на один релиз, т.е. в нынешнем выпуске включена блокировка документов.https://www.opennet.ru/opennews/pics_base/0_1605694703.png (https://lh5.googleusercontent.com/lJG5GLMl1kd-YcmKkaw_3XNG9TQuYkZ4XMRbcvB2JWuWJQQ5rwyR9bvDcVi1Gh zn03M-HcmmEsKExwQyW209t7cJsiSU8WHtJO5zmdfEtmeCRO-_vqViatjvqr_eCHikQu8lHcCFpw)

В режиме Origin Trials (экспериментальные возможности, требующие отдельной активации) добавлено несколько новых API, которые пока ограничены платформой Android. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта.
API Digital Goods (https://www.chromestatus.com/feature/5339955595313152) для упрощения организации покупок из web-приложений. Обеспечивает связывание с сервисами распространения товаров, в Android предоставляет обвязку над API Android Play Billing.

В сеансы на базе WebXR для дополненной реальности добавлена возможность определения параметров окружающего освещения для придания моделям более естественного вида и более гармоничной интеграции с окружением пользователя.

Механизм Idle Detection (https://web.dev/idle-detection/) для определения неактивности пользователя, позволяющий определять время, когда пользователь не взаимодействует с клавиатурой/мышью, запущен хранитель экрана, экран заблокирован или работа выполняется на другом мониторе. Информирование приложения об неактивности осуществляется через отправку уведомления после достижения заданного порога неактивности.


Стабилизирован и теперь распространяется вне Origin Trials метод Performance.measureMemory() (https://web.dev/monitor-total-page-memory-usage/) для оценки потребления памяти при обработке web-приложения или web-страницы. Может использоваться для анализа и оптимизации потребления памяти в web-приложениях, а также для выявления регрессивного роста потребления памяти.

В API PointerLock стабилизирован флаг unadjustedMovement (https://web.dev/disable-mouse-acceleration/), при установке которого данные о событиях о движении мыши передаются в чистом виде, без корректировок и ускорения. Например, применение unadjustedMovement даёт возможность обеспечить более качественное движение в шутерах от первого лица.

Ссылки с атрибутом target="_blank" в теге теперь обрабатываются по аналогии с использованием атрибута rel="noopener", т.е. воспринимаются как не заслуживающие доверия страницы. Для открытых по данным ссылкам страниц не выставляется свойство Window.opener и не открывается доступ к контексту из которого была открыта ссылка. Изменение позволяет блокировать атаки "tab-napping", при которых новая вкладка или окно может обращаться к контексту исходной страницы, с которой была открыта ссылка.

Улучшены стили, предлагаемые по умолчанию при активации тёмных тем оформления. Добавлены тёмные стили элементов форм и полос прокрутки, применяемые при выборе в операционной системе тёмной темы. Для упрощения настройки стилей для различных режимов отображения предложено CSS-свойство color-scheme (https://web.dev/color-scheme/) и одноимённый мета-тег.

В addEventListener() добавлена (https://www.chromestatus.com/feature/5658622220566528) опция "signal", позволяющая прикрепить обработчик AbortSignal, созданный при помощи вызова AbortController, для отмены подписки на события.

Добавлено CSS-свойство aspect-ratio (https://www.chromestatus.com/feature/5738050678161408) для явной привязки коэффициента соотношения сторон к любому элементу, который будет учитываться при автоматическом вычислении размеров. Предложенное свойство позволяет добиться автоматического вычисления недостающего размера при указании только высоты или ширины. Ранее подобное было возможным только для изображений, а при помощи свойства aspect-ratio может применяться для любых других элементов, например, для подгонки iframe под указанную высоту или ширину.

В CSS-псевдокласс :not() добавлена (https://bugzilla.mozilla.org/show_bug.cgi?id=933562) поддержка сложных селекторов. Например: ":not(.a + .b .c)".

В метод ElementInternals добавлен атрибут shadowRoot (https://www.chromestatus.com/feature/5721288276443136), позволяющий из собственных элементов обращаться к своему отдельному корню в Shadow DOM (https://w3c.github.io/webcomponents/spec/shadow/), независимо от состояния. Кроме того, добавлены дополнительные ограничения в метод attachInternals(), который теперь будет генерировать исключение при попытке вызова конструктора для создаваемого элемента.

В методе WakeLock.request() (https://web.dev/wake-lock/#get-wake-lock) параметр "type" переведён (https://www.chromestatus.com/feature/5725750881681408) в категорию необязательных и по умолчанию выставляется в значение "screen".

Добавлена (https://www.chromestatus.com/feature/5683766104162304) возможность более гибкого управления ключами для изоляции в отдельных процессах. Изоляция подразумевает вынос обработчиков контента в отдельные процессы в привязке к источнику (origin - домен+порт+протокол), а не сайту, т.е. позволяет организовать разделение по разным процессам на основе домена ресурса, а не сайта со всеми посторонними включениями на страницах. Предложенное изменение позволяет управлять помещением в отдельные процессы синхронно выполняемых скриптов, манипулирующих значением document.domain, или вызовов postMessage() с экземплярами WebAssembly.Module.

Добавлена поддержка типа SharedArrayBuffer, который может использовать в окружениях, изолированных в отдельных процессах при помощи механизмов Cross-Origin-Embedder-Policy и Cross-Origin-Opener-Policy (https://web.dev/coop-coep/). Для атомарного доступа к объектам SharedArrayBuffer предложен объект Atomics (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics).

В CSS-свойстве clip-path (https://www.chromestatus.com/feature/5633533638868992) добавлена возможность определения ограничивающей видимость области, заданной при помощи функции path() (https://drafts.csswg.org/css-shapes-2/#supported-basic-shapes) в формате (https://www.w3.org/TR/SVG11/paths.html#PathData) контура SVG. Например "clip-path: path(oddeven, 'M 5 5 h 100 v 100 Z')".

Добавлена поддержка HTTP-заголовка Permissions-Policy, который пришёл на смену HTTP-заголовку Feature-Policy, предназначенному для включения определённых возможностей и управления доступом к API (например, можно включить синхронный режим работы XMLHttpRequest или отключить Geolocation API)

В JavaScript-движке V8 реализован (https://v8.dev/blog/non-backtracking-regexp) экспериментальный RegExp-движок, для включения которого можно использовать флаг "--enable-experimental-regexp-engine". Движок примечателен использованием алгоритма, работающего без возвратов (backtracking), что позволяет добиться времени выполнения, линейного зависящего от размера обрабатываемой строки. Текущий движок Irregexp (https://www.opennet.ru/opennews/art.shtml?num=53173) в большинстве ситуаций работает очень быстро, но начинает буксовать при обработке некоторых шаблонов, время выполнения которых сильно зависит от размера входной строки.

В инструментах для web-разработчиков (https://developers.google.com/web/updates/2020/11/devtools) примерно на 37% сокращено время запуска. Реализована эмуляция работы в условиях отсутствия поддержки в браузере определённых типов изображений (например, можно отключить AVIF и WebP и проверить сработает ли на сайте замена на PNG). Добавлен новый инструмент для наглядной оценки углов, задаваемых в CSS-свойствах.https://www.opennet.ru/opennews/pics_base/0_1611233085.png (https://developers.google.com/web/updates/images/2020/11/devtools/01-angle.png)

В панели анализа производительности появилась возможность визуализация метрик Core Web Vitals (https://blog.chromium.org/2020/05/introducing-web-vitals-essential-metrics.html), учитывающих сводные показатели времени загрузки, отзывчивости и стабильности содержимого. В панели отслеживания сетевых операций добавлена сводка о сбоях выполнения запросов, связанных с блокировками CORS (Cross-origin Resource Sharing), а в контекстное меню добавлена опция "Copy value" для копирования отдельных параметров запроса. Добавлены новые возможности для отладки WebAssembly.

https://www.opennet.ru/opennews/pics_base/0_1611233687.png (https://developers.google.com/web/updates/images/2020/11/devtools/12-wasm-mouseover.png)

В панели Storage добавлена симуляция исчерпания квоты на размер браузерного хранилища. Расширена информация о Web Worker. В панели Elements обеспечено выделение цветом псевдоэлементов. Представлен экспериментальный отладчик моделей компоновки элементов страницы Flexbox.

https://www.opennet.ru/opennews/pics_base/0_1611233855.png (https://developers.google.com/web/updates/images/2020/11/devtools/13-flex-debugging.png)
Кроме нововведений и исправления ошибок в новой версии устранено 36 уязвимостей (https://bugs.chromium.org/p/chromium/issues/list?can=1&q=label%3ARelease-0-M88). Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer (http://code.google.com/p/address-sanitizer/wiki/AddressSanitizer), MemorySanitizer (https://code.google.com/p/memory-sanitizer/wiki/MemorySanitizer), Control Flow Integrity (https://sites.google.com/a/chromium.org/dev/developers/testing/control-flow-integrity), LibFuzzer (https://sites.google.com/a/chromium.org/dev/developers/testing/libfuzzer) и AFL (http://lcamtuf.coredump.cx/afl/). Одна уязвимость (CVE-2021-21117, проблемы с применением ограничений в Cryptohome) помечена как критическая, т.е. позволяет обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 26 премий на сумму 81000 долларов США (одна премия $30000, одна премия $16000, четыре премии $5000, две премии $2000, четыре $1000 и две премии $500). Размер 10 вознаграждений пока не определён.

21.01.2021

https://www.opennet.ru/opennews/art.shtml?num=54423​

Alifer
22.01.2021, 16:51
Чистый хром уже не использую..Перешел на Cent и очень рад.