Релиз Chrome 80
5 февраля 2020 года
Компания Google представила релиз web-браузера Chrome 80. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, наличием системы отправки уведомлений в случае краха, возможностью загрузки модуля Flash по запросу, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Следующий выпуск Chrome 81 запланирован на 17 марта.
Основные изменения в Chrome 80:
- Для небольшого процента пользователей предложена функция группировки вкладок, позволяющая объединять несколько сходных по назначению вкладок в визуально разделённые группы. Каждой группе можно привязать свой цвет и имя. Пользователи, не попавшие в первую волну активации, могут включить поддержку группировки чрез опцию "chrome://flags/#tab-groups".
- Добавлена поддержка функции Scroll-To-Text, позволяющей создавать ссылки на отдельные слова или фразы, без явного указания в документе меток при помощи тега "a name" или свойства "id". Синтаксис подобных ссылок планируется утвердить в качестве web-стандарта, который пока находится на стадии черновика. Маска для перехода (по сути выполняется поиск с прокруткой) отделяется от обычного якоря признаком ":~:". Например, при открытии ссылки "https://opennet.ru/52312/#:~:text=Chromе" страница сдвинется на позицию с первым упоминанием слова "Chromе" и данное слово будет подсвечено.
- Применено более жёсткое ограничение передачи Cookie между сайтами, для не-HTTPS запросов запрещающее обработку сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики. Напомним, что для управления передачей Cookie применяется указываемый в заголовке Set-Cookie атрибут SameSite, который по умолчанию теперь выставлен в значение "SameSite=Lax", ограничивающее отправку Cookie для межсайтовых субзапросов, таких как запрос изображения или загрузка контента через iframe с другого сайта. Сайты могут переопределить применяемый по умолчанию режим SameSite, явно выставляя при установке Cookie значение SameSite=None. Притом значение SameSite=None для Cookie может выставляться только в режиме Secure (действует для соединений через HTTPS). Изменение начнёт поэтапно применяться 17 февраля, вначале для небольшого процента пользователей, а потом постепенно расширяя охват.
- В тестовом режиме добавлена защита от назойливых уведомлений, связанных с подтверждением полномочий. Так как подобная активность, например, спам запросами на получение push-уведомлений, прерывает работу пользователя и отвлекает внимание на действия в диалогах подтверждения, в Chrome 80 вместо отдельного диалога, в адресной строке теперь может отображаться информационная подсказка с предупреждением о блокировке запроса полномочий, которая затем сворачивается в индикатор с изображением зачёркнутого колокола. При клике на индикатор можно активировать или отклонить запрошенное полномочие в любой удобный момент. Автоматически новый режим будет выборочно включаться для пользователей, которые до этого обычно блокировали подобные запросы, а также для сайтов, на которых фиксируется большой процент отклонения запросов. Для включения нового режима в настройки добавлена опция (chrome://flags/#quiet-notification-prompts).
- Запрещён вывод всплывающих окон (вызов метода window.open()) и отправка синхронных запросов XMLHttpRequest в обработчиках событий закрытия или скрытия страницы (unload, beforeunload, pagehide и visibilitychange);
- Предложена начальная защита от загрузки смешанного мультимедийного контента (когда на HTTPS-странице загружаются ресурсы по протоколу http://). На страницах, открытых по HTTPS, теперь автоматически будут заменяться ссылки "http://" на "https://" в блоках, связанных с воспроизведением звуковых и видео файлов. Если звуковой или видео ресурс недоступен по https, то его загрузка блокируется (вручную можно отметить блокировку через меню, доступное через символ замка в адресной строке).
Изображения продолжат загружаться без изменений (автозамена будет применена в Chrome 81), но для замены на https или блокировки изображений разработчикам сайтов предоставлены CSP-свойства upgrade-insecure-requests и block-all-mixed-content. Для скриптов и iframe блокировка смешанного контента уже была реализована ранее.
- Началось постепенное отключение поддержки FTP. По умолчанию поддержка FTP пока сохраняется, но будет проведён эксперимент, в рамках которого для определённого процента пользователей поддержка FTP будет отключена (для возвращения потребуется запустить браузер с опцией "--enable-ftp"). Напомним, что в прошлых выпусках уже было отключено отображение в окне браузера содержимого ресурсов, загружаемых по протоколу "ftp://" (например, прекращён показ HTML-документов и файлов README), запрещено использование FTP при загрузке субресурсов из документов и прекращена поддержка прокси для FTP. Тем не менее, до сих пор оставалась возможность загрузки файлов по прямым ссылкам и отображение содержимого каталогов.
- Добавлена
возможность использования векторных SVG-изображений в качестве пиктограммы сайта (favicon).
- В настройки добавлена возможность выборочного отключения отдельных типов данных, передаваемых при синхронизации между браузерами.
- Для централизованно администрируемых корпоративных пользователей добавлено правило BlockExternalExtensions, позволяющее запретить установку внешних дополнений на устройство.
- Реализована возможность единовременной проверки всей цепочки свойств или вызовов в JavaScript. Например, при обращении к "db.user.name.length" ранее требовалось поэтапно проверить определение всех составных частей, например, через "if (db && db.user && db.user.name)". Теперь при помощи операции "?." можно обратиться к значению "db?.user?.name?.length" без предварительных проверок и такое обращение не приведёт к выводу ошибки. В случае проблем (если какой-то элемент обработан как null или undefined)) на выходе будет выдано значение "undefined".
- В JavaScript предложен новый логический оператор объединения "??", который возвращает правый операнд, если левый операнд имеет значение NULL или undefined, и наоборот. Например, "const foo = bar ?? 'default string'" если bar равен null, вернёт стоку или значение bar в противном случае, в том числе, когда bar равен 0 и ' ', в отличие от оператора "||".
- В режиме Origin Trials (экспериментальные возможности, требующие отдельной
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.