Google browser

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Релиз web-браузера Chrome 69 с переработанным интерфейсом пользователя
Компания Google представила релиз web-браузера Chrome 69, который приурочен к празднованию десятилетия проекта и включает в себя несколько заметных новшеств, таких как обновлённый интерфейс пользователя, возможность настройки стартовой страницы и новый компилятор WebAssembly. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.



Основные изменения в Chrome 69:
  • Предложен новый модернизированный интерфейс пользователя, оформленный в стиле Material Design и оптимизированный для устройств с сенсорными экранами (увеличенные отступы, скруглённое поле адресной строки, новая кнопка "+" для открытия вкладок, изменённая расцветка панелей и полей ввода). Переработка затронула практически все компоненты интерфейса, включая всплывающие предупреждения и систему управления загрузками
  • Возможность настройки фона стартовой страницы, отображаемой при открытии новой вкладки. В правом нижнем углу страницы размещена кнопка в виде шестерёнки, при нажатии на которую можно выбрать фоновую картинку. Предоставлена готовая коллекция фоновых изображений, а также возможность загрузки своих картинок;
  • Список избранных ссылок на странице открытия новой вкладки теперь формируется с использованием пиктограмм сайтов (favicon), а не миниатюр со скриншотами страниц.
  • Добавлена возможность настройки состава избранных ссылок на странице открытия новой вкладки. Элементы теперь можно редактировать, добавлять и удалять

  • В списке рекомендаций, показываемом при вводе в адресной строке, предоставлена возможность быстрого перехода к уже открытым вкладкам, если их содержимое соответствует запросу, заданному пользователем. Например, при наборе адреса сайта, уже открытого в другой вкладке, рядом с рекомендацией появится кнопка для перехода к этой вкладке вместо открытия новой;

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

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

  • Воплощён в жизнь второй этап изменения индикации безопасности соединения. Для HTTPS теперь не показывается зелёная надпись "Secure", так как HTTP помечается небезопасным и нет смысла отдельно помечать HTTPS индикатором безопасного соединения. В октябрьском выпуске Chrome 70 будет убран и значок с изображением замка для HTTPS, а цвет надписи "Not Secure" для соединений HTTP будет заменён с серого на красный.


  • Добавлена возможность просмотра видео в режиме "картинка в картинке" (PIP API, Picture in Picture), позволяющем отсоединить видео в форме плавающего окна, которое остаётся на виду в процессе навигации в браузере;
  • Добавлен экспериментальный эффект размытия курсора мыши при движении (видео). Для включения эффекта можно использовать настройку "chrome://flags/#ash-enable-cursor-motion-blur";

  • Прекращено сохранение настроек, задаваемых сайтами при помощи Flash. Подобные настройки теперь не сохраняются между сеансами;

  • При установке в окружении Android 8.0+ на устройствах с 1 Гб ОЗУ Chrome теперь регистрируется как обработчик для воспроизведения мультимедийных файлов;

  • Существенно переработана версия Chrome для платформы iOS: Добавлена новая нижняя панель, предоставляющая быстрый доступ к наиболее часто вызываемым функциям. Переработана страница открытия новой вкладки, на которой теперь представлены часто используемые закладки и списки чтения. Улучшена работа режима инкогнито, обзора недавно закрытых вкладок, интерфейса для просмотра истории посещений и списков чтения. Предложен новый интерфейс переключения между вкладками, отображающий открытые вкладки в виде сетки и позволяющий открыть вкладки в том числе на других устройствах
  • .
  • Реализован режим выделения текста по границе графем в лигатуре (если символ образован соединением нескольких графем)
  • ;
  • Добавлена экспериментальная поддержка видеокодека AV1, разработанного альянсом Open Media (AOMedia), в котором представлены такие компании, как Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN и Realtek. AV1 позиционируется как общедоступный и не требующий оплаты отчислений свободный формат кодирования видео, который заметно опережает H.264 и VP9 по уровню сжатия. Для включения поддержки AV1 следует активировать опцию "chrome://flags/#enable-av1-decoder";

Изменения для web-разработчиков:
  • Добавлено CSS-свойство conic-gradient для создания конусообразных градиентов, в которых изменение цвета производится вокруг центра, а не от центра к краю, что позволяет создавать эффекты в виде колеса меняющихся оттенков;

  • Добавлены расширенные варианты CSS-свойств margin, padding и border, задаваемые в формате margin|padding-{block,inline}-{start,end} и border-{block,inline}-{start,end}-{width,style,color}, например, "padding-inline-end: 10px;" или "border-block-start-style: dotted;". Ранее данные свойства не были стандартизированы и тестировались с префиксом "-webkit";

  • Добавлена серия CSS-свойств scroll-snap-*, позволяющих управлять точкой остановки ползунка при прокрутке и выравниванием сдвигаемого содержимого. Например, можно настроить прокрутку со сдвигом по границам изображения или с центрированием картинки;
  • Представлена новая CSS-функция env() и meta-тег viewport-fit, которые позволяют использовать всё экранное пространство на устройствах с безрамочными экранами, содержащими неотображаемые области (например, закругление экрана и островок для фронтальной камеры, громкоговорителя и сенсоров);

  • Добавлен API OffscreenCanvas, позволяющий в отдельном потоке предварительно отрисовывать в буфер canvas-изображения (2D и WebGL) для их последующего использования в Worker-ах;

  • В DOM реализован новый метод Element.toggleAttribute(), позволяющий инвертировать существование атрибута элемента (создать если нет и удалить если есть) по аналогии с Element.classList.toggle;

  • В Fetch API добавлено свойство Request.isHistoryNavigation, дающее возможность узнать, связан ли выполняемый запрос с повторным отображение страницы при нажатии кнопок вперёд или назад;

  • Добавлен API ReportingObserver, позволяющий определить обработчик для генерации отчёта, вызываемый при обращении к устаревшим возможностям. Сгенерированный отчёт по выбору пользователя может быть сохранён, отправлен на сервер или обработан скриптом на JavaScript;

  • В реализацию JavaScript-массивов добавлено два метода: Array.prototype.flat() - возвращает новый массив с развёрнутым содержимым вложенных массивов; Array.prototype.flatMap() для создания нового массива, в котором каждый элемент сопоставлен при помощи заданной функции;

  • Добавлен API Web Locks для получения блокировок в асинхронном режиме, из закрепления за собой и освобождения после завершения необходимой работы с совместно используемым ресурсом. Пока один процесс удерживает блокировку, другие процессы ожидают её освобождения без остановки выполнения;

  • Добавлен API Keyboard Map для создания раскладок нажатий клавиш, позволяющий определить какой код символа (KeyboardEvent.code) возвращать при нажатии той или иной физической клавиши;

  • API Web Authentication добавлена поддержка устройств CTAP2, что позволяет применять для аутентификации на сайтах биометрические датчики и подключаемые хранилища ключей;

  • Добавлена возможность передачи клиентом подсказок (hint) "rtt", "downlink" и "ect" в составе HTTP-запроса, помогающих оценить на сервере качество канала связи с клиентом. Например, через rtt передаются сведения о задержке получения ответа (round-trip) для текущего соединения, что может быть использовано для отдачи урезанных изображений при медленном соединении;

  • Добавлен метод encryptionScheme, через который можно проверить поддерживается ли в текущей реализации Encrypted Media Extensions (EME) указанная схема шифрования;

  • В JavaScript-движке V8 активирован новый начальный (baseline) компилятор Liftoff для WebAssembly. Ключевое отличие Liftoff от ранее применяемого компилятора TurboFan в том, что Liftoff нацелен на достижение наибольшей скорости начальной компиляции, ценой низкой производительности генерируемого кода. Liftoff значительно проще TurboFan и генерирует готовый для запуска машинный код очень быстро, что позволяет почти сразу приступить к его выполнению, сведя задержку от компиляции к минимуму.

  • Для ускорения чернового кода параллельно запускается фаза оптимизирующей перекомпиляции, которая выполняется с использованием компилятора Turbofan. После готовности оптимизированых машинных инструкций, начальный черновой вариант заменяется на более быстрый код. В сумме, за счёт снижения задержки перед началом выполнения, применение Liftoff привело к увеличению производительности тестового набора WebAssembly примерно на 20%.
Кроме нововведений и исправления ошибок в новой версии устранено 40 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено.

В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 22 премии на сумму 29 тысяч долларов США (по одной премии в $5000, $4000 и $2500, три премии $3000, две премии $2000, три премии $1000 и три премии $500). Размер 8 вознаграждений пока не определён.

OpenNews: Релиз web-браузера Chrome 69 с переработанным интерфейсом пользователя
 

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Google отменил скрытие поддоменов "www" и "m", но намерен стандартизировать их особый статус

В Chrome 69 принято изменение, отменяющие автоматическое скрытие поддоменов "www" и "m" в адресной строке. Скрытие тривиальных поддоменов отменено в ответ на неоднозначное восприятие данного изменения сообществом и приведения примеров возможности осуществления спуфинга. Например, в системах позволяющих регистрировать поддомены, пользователь может получить поддомен "m", который отобразиться в адресной строке как основной сайт.

В Chrome 70 планируется вернуть скрытие поддомена "www", доработав код замены с учётом возможных проблем (например, обрабатывать только первый поддомен, чтобы не заменять "www.www.example.com" на "example.com"). По мнению Google, обычно сервисы, предоставляющие поддомены пользователям, резервируют имя "www", что минимизирует риск спуфинга. С поддоменом "m" возникает путаница при попытке открытия мобильного варианта сайта на настольной системе (отображается другое оформление, но в адресной строке показывается основной домен). Поэтому замену поддомена "m" планируется отложить на неопределённое время, но
Google полностью не отказывается от этой идеи.

Более того, компания Google намерена инициировать публичное обсуждение вопроса внесения изменений в web-стандарты. Планируется стандартизировать особый статус поддоменоов "www" и "m", переведя их в категорию зарезервированных для особого применения. При этом метод отображения данных зарезервированных поддоменов в интерфейсе пользователя останется на усмотрении браузеров.
В возникшей в комментариях к изменению дискуссии из 35 участников, только один согласился с целесообразностью скрытия "www". Многие предложили не скрывать тривиальные поддомены, а лишь сделать их менее заметными (отобразить текст менее контрастным), как это реализовано в Firefox.

Другим предложением стало скрытие поддоменов только для сайтов Google или предоставление легко доступной опции для отключения скрытия "www". Участники дискуссии также обратили внимание, что вначале следовало позаботиться о стандартизации, а затем реализовывать изменение на практике. Получилось, же так, что Google вначале добавил изменение в стабильную ветку наиболее популярного браузера, нарушив существующие web-рекомендации по отображению URL, а лишь потом начал работу по утверждению этих изменений в стандарте.
OpenNews: Google отменил скрытие поддоменов "www" и "m", но намерен стандартизировать их особый статус
 
Последнее редактирование:

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Релиз Chrome70
Компания Google представила релиз web-браузера Chrome 70. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

Основные изменения в Chrome 70:
  • Пользователю предоставлена возможность выборочной активации дополнений только для определённых сайтов, с запретом применения дополнений для сайтов, не включённых в белый список. Также доступен режим индивидуальной активации дополнения на каждой странице, при котором дополнение включается только после явного клика на значке в панели. Указанные возможности можно использовать для защиты от скрытого совершения дополнениями нецелевых действий, таких как выуживание со страницы персональных данных или подстановки рекламы;
  • Добавлена возможность перезагрузки разом нескольких вкладок - теперь можно выделить группу вкладок и нажать "Ctrl+R" или кнопку "Reload" в контекстном меню;
  • Добавлен экспериментальный режим быстрого переключения на открытую вкладку из списка рекомендаций в адресной строке ("Switch to this tab" в chrome://flags/#omnibox-tab-switch-suggestions). Для страницы, уже открытой в другой вкладке, будет показана кнопка для быстрого перехода к этой вкладке;
  • Завершён трёхэтапный процесс изменения индикации безопасности соединения - убран значок с изображением замка для HTTPS, а цвет надписи "Not Secure" для соединений HTTP заменён с серого на красный.
  • В адресную строку добавлен индикатор "File" для выделения доступа к локальным ресурсам. Ранее предложенное изменение, убирающие отображение схемы "file://" в адресной строке, отклонено
  • .
  • Учтено недовольство пользователей добавлением в Chrome 69 автоподключения к учётной записи и оставлением Cookie Google после применения функции удаления всех Cookie. В новой версии предложена настройка "Allow Chrome sign-in", позволяющая выключить привязку входа в Chrome с входом в сервисы Google. Функция удаления всех Cookie теперь очищает все без исключения Cookie, включая сессионные Cookie от Google. При очистке Cookie также автоматически разрывается подключение браузера к учётной записи Google.


    Также изменён индикатор входа, который теперь позволяет сразу понять подключен пользователь или нет и включена ли в настройках синхронизация данных.
  • Обеспечен автоматический выход из полноэкраного режима в случае отображения любых диалоговых окон, специальных запросов на аутентификацию, форм проведения платежей и окон выбора файлов. Выход из полноэкранного режима производится, чтобы исключить ситуации, когда злоумышленник может подтолкнуть пользователя к неверным действиям, манипулируя изменением окружающего контекста;
  • Для платформы Windows 10 активирован API Web Bluetooth, ранее доступный только на платформах Android, Chrome OS и macOS. Web Bluetooth позволяет web-приложениям получить доступ к внешним устройствам, связанным через протокол Bluetooth Low Energy (BLE). Например, при помощи нескольких строк код на JavaScript можно получить доступ к внешним сенсорам, принтерам или экранам. Web Bluetooth API использует протокол GATT. Для обнаружения устройств применяется механизм Physical Web, позволяющий быстро получать ссылки на окружающие объекты при помощи Bluetooth-метокEddystone;
  • В сборки для Windows добавлена возможность установки web-приложений, работающих в режиме Desktop Progressive Web Apps, который позволяет организовать работу с web-приложением, как с обособленной программой;
  • Добавлен "Origin Trial" для API Shape Detection, предоставляющий функциональность для распознавания наличия различных элементов на изображениях. На основе Shape Detection API созданы более высокоуровневые Face Detection API, Barcode Detection API и Text Detection API. На основе переданного при вызове битмапа API Face Detection вернёт позиции лиц, а также позиции глаз, носа и губ для каждого выявленного лица. Barcode Detection API позволяет декодировать штрихкоды и QR-коды в текстовый вид. Text Detection API позволяет получить текстовое представление текста, имеющегося в изображении (поддерживается только распознавание символов Latin-1);
  • В Web Authentication API расширены возможности, связанные с типом учётных данных PublicKeyCredential, применяемом для аутентификации на сайте с использованием USB-токенов и биометрических датчиков. Помимо работы на версиях Chrome для настольных систем, PublicKeyCredential теперь доступен и для платформы Android. Включена по умолчанию поддержка биометрических датчиков macOS TouchID и Android Fingerprint;
  • В тег "script" добавлена поддержка атрибута "referrerpolicy", позволяющего контролировать какие данные будут передаваться в заголовке Referrer (ранее данный атрибут поддерживался для элементов a, link, area, img и iframe);
  • Реализован интерфейс Intervention report, позволяющий информировать серверное приложение о решении браузера не выполнять запрос из соображений безопасности, производительности и раздражения пользователя. Уведомление отправляется внутри HTTP-заголовка Report-To;
  • В конструктор worker-ов добавлен новый атрибут name, позволяющий отличать выносные фоновые обработчики (dedicated worker) по имени, когда с одним URL связано несколько обработчиков;
  • Добавлена поддержка финальной спецификации протокола TLS 1.3 (RFC 8446), который отличается удалением устаревших и ненадёжных криптографических примитивов (MD5, SHA-224) и возможностей (сжатие, повторное согласование, не-AEAD шифры, статический обмен ключами RSA и DH, указание unix-времени в Hello-сообщениях и т.п.), работает только в режиме forward secrecy (компрометации одного из долговременных ключей не позволяет расшифровать перехваченный сеанс), обеспечивает более высокую производительность, поддерживает режим 0-RTT (устраняет задержки при возобновлении ранее установленных HTTPS-соединений), поддерживает потоковый шифр ChaCha20, алгоритм аутентификации сообщений (MAC) Poly1305, ключи аутентификации на основе цифровых подписей Ed25519, HKDF (HMAC-based Extract-and-Expand Key Derivation Function), ключи на основе алгоритмов x25519 (RFC 7748) и x448 (RFC 8031);
  • Стабилизирован метод Array.prototype.sort;
  • В JavaScript-движке V8 реализована поддержка техники Embedded builtins, позволяющей экономить память благодаря применению общего сгенерированного кода в разных изолированных обработчиках V8. Оптимизация включена для всех платформ, за исключением ia32;
  • Для WebAssembly добавлена экспериментальная поддержка многопоточности (включение через chrome://flags/#enable-webassembly-thread);
  • Прекращена поддержка AppCache (технология для организации работы web-приложения в offline-режиме). В качестве причины называется желание избавиться от одного из векторов для совершения атак, связанных с межсайтовым скриптингом.
Кроме нововведений и исправления ошибок в новой версии устранено 40 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 23 премии на сумму 22 тысячи долларов США (по одной премии в $3500 и $2000, три премии $3000, пять премий $1000 и пять премий $500). Размер 3 вознаграждений пока не определён.
OpenNews: Релиз web-браузера Chrome 70
 
Последнее редактирование:

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
В Chrome планируют включить механизм Signed HTTP Exchanges (SXG)
Разработчики Chrome планируют активировать поддержку механизма Signed HTTP Exchanges (SXG) для организации размещения верифицированных копий web-страниц на других сайтах, выглядящих для пользователя как исходные страницы. При помощи SXG владелец одного сайта при помощи цифровой подписи может авторизовать размещения определённых страниц на другом сайте. В случае обращения к этим страницам на втором сайте, браузер будет показывать пользователю URL исходного сайта, несмотря на то, что страница загружена с другого хоста.

Компания Google развивает SGX в контексте исключения возможных MITM-атак на страницы, распространяемые при помощи технологии AMP (Accelerated Mobile Pages). AMP представляет собой систему кэширования для отдачи страниц пользователю не напрямую, а через инфраструктуру Google. SGX позволит на уровне цифровых подписей гарантировать соответствие прокэшированной и исходной страниц, а также решает проблему с отображением в адресной строке другого домена (сейчас показывается Redirecting), что вызывает замешательство пользователей.

Кроме AMP технология SXG может быть использована для распространения web-приложений в форме пакетов (Web Packaging) в режиме "peer-to-peer", позволяющем делиться приложениями через сторонние площадки без необходимости постоянного нахождения источника в online, но гарантируя неизменность, целостность и авторство содержимого. Технология также позволяет организовать работу сетей доставки контента (CDN) без получения контроля за SSL-сертификатом сайта (в тестовом режиме поддержка SXG уже реализована в Cloudflare CDN). В настоящее время реализация SXG уже добавлена в Chrome 71, но пока неактивна и ограничена тестами в режиме "Origin Trial".

При помощи SXG автор контента может сформировать цифровую подпись при помощи своего закрытого ключа (используется штатный ключ от TLS-сертификата с активным расширением CanSignHttpExchanges). Цифровая подпись авторизует одну операцию, охватывающую только один конкретный запрос и отдаваемый в ответ на него контент. Подобные цифровые подписи необходимо сформировать для всех страниц, которые разрешено распространять через сторонние web-серверы. При открытии подобных страниц пользователем браузер проверяет корректность цифровой подписи по предоставленному исходным сайтом открытому ключу и если целостность подтверждена показывает в адресной строке исходный URL.

Разработчики Safari и Firefox пока не намерены добавлять SXG в свои браузеры, более того Mozilla считает данную технологию вредной и разрушающей модель обеспечения безопасности. По мнению Mozilla обработка страниц через инфраструктуру третьих лиц создаёт дополнительные угрозы приватности, так как пользователь взаимодействует с совсем другим сервером, но обработка информации производится как будто он обращается к оригинальному ресурсу.

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

OpenNews: В Chrome планируют включить механизм Signed HTTP Exchanges (SXG)
 
Последнее редактирование:

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Релиз Chrome 72
Компания Google представила релиз web-браузера Chrome 72. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Следующий выпуск Chrome 73 запланирован на 12 марта.

Основные изменения в Chrome 72:
  • Внесены изменения в конфигуратор. Настройка автозаполнения полей разделена на несколько секций для отдельного управления заполнением полей с паролями, платёжными формами и адресами. В интерфейс добавлен ярлык для быстрого перехода к настройкам учётной записи в Google. В настройки версии для Android добавлена возможность добавление альтернативных поисковых систем. Прекращена поддержка настройки подключения устройств Chromecast из браузера (для настройки предлагается использовать отдельное приложение);
  • Включена по умолчанию возможность просмотра видео поверх контента в режиме "картинка в картинке" (Picture-In-Picture), позволяющем отсоединить видео в форме плавающего окна, которое остаётся на виду в процессе навигации в браузере. Для просмотра в данном режиме видео с YouTube необходимо два раза кликнуть на видео правой кнопкой мыши и выбрать режим "Picture in picture". Отсоединение видео работает только при использовании на сайте API Picture-in-Picture, для не адаптированных для нового режима сайтов можно использовать внешнее дополнение;
  • Активирована по умолчанию защита от попыток выполнения стороннего кода внутри процессов Chrome. Исключение сделано только для кода, подписанного цифровой подписью Microsoft и систем для людей с ограниченными возможностями. Подобные подстановки кода наблюдаются на 2/3 систем с Windows и, как правило, производятся антивирусным ПО. По статистике, данные манипуляции приводят к снижению стабильности работы и являются причиной 15% всех наблюдаемых крахов браузера. Вместо подстановки кода в запускаемые процессы следует использовать дополнения и API Native Messaging;
  • При открытии сайтов с использованием TLS 1.0/1.1 теперь выводится специальное предупреждение о применении устаревшей версии TLS. По умолчанию поддержку TLS 1.0/1.1 планируют прекратить в Chrome 81, который ожидается в январе 2020 года, но настройка, дающая возможность вернуть TLS 1.0/1.1 будет сохранена до января 2021 года;
  • Усилена защита от всплывающих окон - запрещено открытие окон через вызов метода window.open() в обработчиках событий закрытия страницы (onUnload);
  • Реализован первый этап прекращения поддержки FTP - отключено отображение содержимого каталогов FTP, но загрузки по прямым ссылкам пока работают;
  • В Web Authentication API добавлена поддержка аутентификации на сайте с использованием токенов и биометрических датчиков Bluetooth U2F и Windows Hello;
  • В версии для Android добавлена возможность вызова экрана со списком ранее открытых в текущей вкладке страниц через длительное удержание нажатия кнопки возврата на предыдущую страницу ("Back"). Добавлен экспериментальный режим оформления "Chrome Duet", при котором изменяется раскладка панелей и меню перемещается в нижнюю панель (для включения в chrome://flags следует активировать опцию "chrome-duet");
  • В классах добавлена возможность определения публичных полей, без явного использования конструктора и вне входящих в состав класса функций. В будущих выпусках планируется предоставить возможность определения и приватных классов.
    class MyComponent extends Component {
    // создадим публичное поле с именем "state"
    state = {};
    render() {
    doStuff(this.state);
    }
    }

  • Добавлено API User Activation Query для определения активации некоторых функций, по умолчанию отключенных до того, как пользователь начнёт взаимодействие со страницей. Например, разработчик может определить появился ли доступ к функциям перехода в полноэкранный режим, автоматического воспроизведения звука и открытия дополнительных окон. Проверка активации производится через свойство userActivation, которое предлагает два параметра hasBeenActive и isActive, позволяющих определить взаимодействовал ли пользователь со страницей или она пока просто загружена и остаётся нетронутой;
  • Добавлена поддержка локализованных списков. Для применения специфичных для языков связок (например, замены "or" на "или", "and" на "и") и единиц измерения предложен метод Intl.format(), который достаточно инициализировать с указанием необходимой локали.
    const lf = new Intl.ListFormat('en');
    lf.format(['Frank', 'Christine', 'Flora']);
    // → 'Frank, Christine, and Flora'
    // при локали "ru" будет 'Frank, Christine и Flora'

  • Изменено поведение вызова Cache.addAll(). В соответствии с требованием спецификации при попытке добавления дубликатов теперь выводится ошибка, а не перезаписывается старое содержимое;
  • В Service worker добавлено новое свойство FetchEvent.resultingClientId, в котором сохраняется идентификатор клиента, а не документа или обработчика;
  • В MediaStreamTrack добавлено свойство resizeMode для определения отображения контента в исходном разрешении или применения кадрирования и масштабирования;
  • Для возвращаемых методом JSON.stringify() Unicode-строк обеспечена более строгая проверка корректности и реализовано экранирование символов при невозможности их отображения в UTF-8. Например, при вызове JSON.stringify("\uD800") раньше выводилось "�", а теперь будет выведено "\ud800";
  • Символ '#' теперь рассматривается как индикатор окончания данных в URL. Ранее символ мог без экранирования использоваться внутри данных в составе URL, что нарушает спецификацию. Теперь первый же символ рассматривается как окончание блока данных.
  • Удалена поддержка HTTP-заголовка Public-Key-Pins (ручные привязки пока сохранены), позволяющего сайтам явно определить сертификаты каких удостоверяющих центров допустимо использовать для заданного сайта. Вместо PKP разработчикам сайтов рекомендуется использовать HTTP-заголовок Expect-CT c SCT-параметрами (SignedCertificate Timestamps) для выявления некорректных SSL-сертификатов при помощи системы Certificate Transparency, которая предусматривает возможность отмены ошибочных привязок;
  • В инструментах для разработчиков обеспечена визуализация метрик производительности, полученных при профилировании загрузки страницы
  • ;
  • В дереве DOM реализована подсветка узлов с текстом;
  • Добавлена поддержка копирования в буфер обмена ссылки на DOM-узел в форме выражения document.querySelector();
  • Реализация панели аудита обновлена до выпуска Lighthouse 3.2, в котором появился режим определения применения на странице известных JavaScript-библиотек;
  • В JavaScript-движке V8 включена по умолчанию техника "Embedded builtins", позволяющая экономить память благодаря применению общего сгенерированного кода в разных изолированных обработчиках V8. Оптимизация включена для всех платформ, за исключением ia32;
  • На 30% ускорено выполнение операций парсинга JavaScript. Если раньше парсинг занимал около 9.5% времени работы движка V8, то теперь этот показатель сократился до 7.5%, что положительно отразилось на скорости открытия страниц и отзывчивости интерфейса. Например, время разбора скриптов Facebook сократилось с 270 до 170 мс.
  • Задействована более быстрая реализация операций async/await. Увеличена производительность массивов с диапазонами, определяемых в виде "[...x]" или "[...x, 1, 2]". Внесены оптимизации в WebAssembly и обработчики исключений. Добавлен режим асинхронной трассировки стека ("--async-stack-traces").
Кроме нововведений и исправления ошибок в новой версии устранено 58 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одна из проблем (CVE-2019-5754) помечена как критическая, т.е. позволяет обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Указанная уязвимость вызвана ошибкой в реализации протокола QUIC (детали пока не приводятся). В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 34 премии на сумму 50.5 тысяч долларов США (по одной премии в $7500 и $4000, две премии $5000, шесть премий $3000, две премии $2000, пять премий $1000 и четыре премий $500). Размер 13 вознаграждений пока не определён.

OpenNews: Релиз web-браузера Chrome 72
 
Последнее редактирование:
  • Like
Реакции: akok

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Новое в версии 73.0.3683.103 (05.04.2019):
Новое в версии 73.0.3683.86 (20.03.2019):
Новое в версии 73 Stable (12.03.2019)
Обновление Chrome 73 добавляет поддержку мультимедийных клавиш на клавиатуре, PWA приложений и темного режима на устройствах Mac, а также включает большое количество улучшений для разработчиков
Источник: Comss 1
 
  • Like
Реакции: akok

akok

Команда форума
Администратор
Сообщения
16,757
Реакции
13,195
Баллы
2,203
Скоро сюда будем и версии EDGE объявлять
 

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Релиз Chrome 74
24.04.2019
Компания Google представила релиз web-браузера Chrome 74. Одновременно доступенстабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Следующий выпуск Chrome 75 запланирован на 4 июня.

Основные изменения в Chrome 74:
  • При наступлении события onUnload, вызываемого при закрытии страницы, теперь запрещеновыводить всплывающие окна (блокируется вызов window.open()), что позволит защитить пользователей от принудительного открытия рекламных страниц после закрытия сомнительных сайтов. Подобная блокировка ранее была реализована на уровне popup blocker, но теперь будет работать независимо от его включения;

  • В JavaScript-движке V8 реализован новый режим JIT-less (флаг "--jitless"), дающий возможность выполнить JavaScript без применения JIT (используется только интерпретатор) и без выделения исполняемой памяти в процессе выполнения кода. Отключение JIT может быть полезным для повышения безопасности при работе с потенциально опасными web-приложениями, а также для обеспечения сборки на платформах, запрещающих использование JIT (например, в iOS, на некоторых Smart TV и игровых консолях).

  • При отключении JIT производительность выполнения JavaScript снижается на 40% в тесте Speedometer 2.0 и на 80% в тесте Web Tooling Benchmark, но при симуляции работы с YouTube отмечено снижение производительности лишь на 6%. Потребление памяти при этом уменьшается незначительно, всего на 1.7%;

  • В V8 предложена большая порция новых оптимизаций. Например, на 60% ускорено выполнение вызовов функций, в которых число фактически переданных параметров не соответствует указанному при определении функции числу аргументов. Ускорен доступ к свойствам DOM при помощи функции get, что положительно повлияло на производительность фреймворка Angular. Ускорена работа парсинга JavaScript: оптимизация декодировщика UTF-8 позволила поднять производительность парсера в режиме streaming (разбор по мере загрузки) на 8%, а исключение лишних операций дедупликации дало прирост ещё на 10.5%;

  • Проведена работа по снижению потребления памяти движка JavaScript. Добавлен код для очистки кэша байткода, который занимает примерно 15% от всего размера кучи. В сборщик мусора добавлена стадия для вытеснения из кэша скомпилированного байткода для редко используемых функций или функций, вызываемых только при инициализации. Решение о чистке принимается на основании новых счётчиков, учитывающих последнее время обращения к байткоду. Указанное изменение позволило снизить потребление памяти на 5–15% без негативного влияния на производительность. Дополнительно, в компиляторе байткода исключена генерация заведомо неиспользуемого кода, например, который следует после return или break (если на него нет Jump-перехода);
  • Для WebAssembly реализована поддержка потоков и атомарных операций (API WebAssembly Threads и WebAssembly Atomics);
  • Для обособленной поставки скриптов в движке V8 добавлена поддержка заголовка "#!", определяющего интерпретатор для запуска. Например, по аналогии с другими скриптовыми языками, файл JavaScript может выглядеть примерно так:
    #!/usr/bin/env node
    console.log(42);

  • В CSS добавлен новый media-запрос "prefers-reduced-motion", позволяющий сайту определить состояние настроек в операционной системе, связанных с отключением анимированных эффектов. При помощи предложенного запроса владелец сайта может узнать, что пользователь отключил у себя анимированные эффекты и также отключить различные анимационные возможности на сайте, например, убрать эффект дрожания кнопок, используемых для привлечения внимания;

  • В дополнение к появившейся в Chrome 72 возможности определения публичных полей в классах реализована поддержка пометки полей приватными, после чего доступ к их значениям будет открыт только внутри класса. Для пометки поля приватным следует указать перед именем поля знак "#". Как и в случае с публичными полями приватные свойства не требуют явного использования конструктора;

  • HTTP-заголовок Feature-Policy, позволяющий управлять поведением API и включением определённых возможностей (например, можно включить синхронный режим работы XMLHttpRequest или отключить Geolocation API), дополнен JavaScript API для контроля активности тех или иных возможностей. Для разработчиков предложено два новых метода document.featurePolicy и frame.featurePolicy, предлагающих три функции: allowedFeatures() для получения списка разрешённых для текущего домена функций, allowsFeature() для выборочной проверки включения конкретных возможностей и getAllowlistForFeature() для вывода списка доменов, для которых на текущей странице разрешена указанная возможность;

  • Добавлена экспериментальная ("chrome://flags#enable-text-fragment-anchor") поддержка режима Scroll-To-Text, позволяющего формировать ссылки на отдельные слова или фразы, без явного указания в документе меток при помощи тега "a name" или свойства "id". Для передачи ссылки предлагается специальный параметр "#targetText=", в котором можно указать текст для перехода. Допускается указание маски, включающей фразы, указывающие на начало и конец фрагмента с использованием запятой в качестве их разделителя (например, "example.com#targetText=start%20words, end%20words");

  • В конструктор AudioContext добавлена опция sampleRate, позволяющая установить желаемую частоту дискретизации для операций со звуком через Web Audio API;

  • Добавлена поддержка класса Intl.Locale, предоставляющего методы для разбора и обработки выставляемых локалью параметров языка, региона и начертания, а также для чтения и записи тегов расширений Unicode и сохранения пользовательских настроек локали в сериализированном формате;

  • Механизм Signed HTTP Exchanges (SXG) расширен средствами для информированияраспространителей контента об ошибках загрузки подписанного контента, таких как проблемы с верификацией сертификатов. Обработка ошибок производится через расширения API Network Error Logging. Напомним, что SXG позволяет владельцу одного сайта при помощи цифровой подписи авторизовать размещения определённых страниц на другом сайте, после чего в случае обращения к этим страницам на втором сайте, браузер будет показывать пользователю URL исходного сайта, несмотря на то, что страница загружена с другого хоста;

  • В класс TextEncoder добавлен метод encodeInto(), позволяющий записать закодированную строку напрямую в предварительно выделенный буфер. Метод encodeInto() является высокопроизводительной альтернативой методу encode(), который требует выполнения операции выделения буфера при каждом обращении;

  • В Service worker обеспечена буферизация вызова client.postMessage() до момента готовности документа. Сообщения, отправленные через client.postMessage(), будут удержаны до стадии генерации события DOMContentLoaded, установки "onmessage" или вызова startMessages();

  • В соответствии с требованием спецификации CSS Transitions добавлены события "transitionrun", "transitioncancel", "transitionstart" и "transitionend", генерируемые когда CSS-переход помещен в очередь, отменяется, начинает или заканчивает выполняться.

  • При указании через overrideMimeType() или MIME-тип некорректной кодировки символов для запроса XMLHttpRequest, теперь осуществляется откат на UTF-8 вместо Latin-1;

  • Объявлено устаревшим и будет удалено в одном из следующих выпусков свойство "allow-downloads-without-user-activation", через которое можно было организовать автоматическую загрузку файлов при обработке iframe. В будущем инициирование загрузки файлов без явного действия пользователя будет запрещено, так как оно активно применялось для злоупотреблений, навязывания загрузок и подстановки частей вредоносного ПО на компьютер пользователя. Для начала загрузки обязательно потребуется клик пользователя на той же странице. Изначально свойство планировалось удалить в Chrome 74, но удаление былоотложено до Chrome 76;
  • Для платформы Windows предложена опциональная тёмная тема оформления интерфейса (в прошлом выпуске тёмное оформление было подготовлено для macOS). Так как тёмное оформление почти идентично оформлению в режиме инкогнито, для выделения приватного режима работы вместо пиктограммы профиля пользователя добавлен специальный индикатор;

  • Для корпоративных пользователей добавлена возможность Chrome Browser Cloud Management для управления настройками браузеров пользователей через консоль Google Admin;
  • В версии для Android на смену "Data Saver" пришёл режим "Lite". Поддержка Data Saver в Chrome 74 прекращена. Режим Lite можно включить в настройках (Settings > Lite mode), но если до этого был включен "Data Saver" режим Lite будет активирован автоматически.
  • Напомним, что режим Lite позволяет ускорить загрузку сайтов и сократить трафик за счёт обращения через прокси в Google, на лету осуществляющий оптимизацию запрашиваемых страниц для просмотра на мобильном устройстве. На серверы Google передаётся только URL страницы, а Cookies и параметры аутентификации обрабатываются напрямую. Оптимизация выполняется адаптивно, например, если страница загружается более 5 секунд;
  • https://developers.google.com/web/updates/2019/03/devtools
  • Расширены возможности инструментов для web-разработчиков:
    • При наведении курсора к CSS-свойствам, таким как padding и margin, теперь автоматически подсвечиваются на странице все элементы, на которые данные свойства влияют;
    • Панель аудита обновлена до выпуска Lighthouse 4;
    • Добавлен просмотрщик содержимого бинарных сообщений, передаваемых через WebSocket;
    • Добавлена возможность быстрого вызова инструмента для создания скриншотов из строки ввода команд (достаточно набрать "area" или screenshot и выбрать "Capture area screenshots";
    • В панели анализа сетевых запросов добавлен фильтр для просмотра запросов, специфичных для определённого Service worker;
    • Обновлена панель для оценки производительности: добавлен индикатор длительно выполняемых задач, на шкале времени реализована метка первой отрисовки;
Кроме нововведений и исправления ошибок в новой версии устранено 39 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено.
В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 19 премии на сумму 26837 долларов США (четыре премии $3000, четыре премии $2000, одна премия $1337, четыре премии $1000, три премии $500). Размер 4 вознаграждений пока не определён.

Opennet
 
Последнее редактирование:
  • Like
Реакции: akok

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
В Chrome появится защита от передачи сторонних cookie и скрытой информации
10.05.19
Компания Google представила грядущие изменения в Chrome, нацеленные на повышение конфиденциальности. Первая часть изменений касается обработки Cookie и поддержки атрибута SameSite. Начиная с выпуска Chrome 76, ожидаемого в июле, будет активирован флаг "same-site-by-default-cookies", который в случае отсутствие атрибута SameSite в заголовке Set-Cookie по умолчанию будет выставлять значение "SameSite=Lax", ограничивающее отправку Cookie для вставок со сторонних сайтов (но сайты по-прежнему смогут отменить ограничение, явно выставляя при установке Cookie значение SameSite=None).

Атрибут SameSite позволяет определять ситуации, в которых допустима передача Cookie при поступлении запроса со стороннего сайта. В настоящее время браузер передаёт Cookie на любой запрос к сайту, для которого имеются выставленные Cookie, даже если изначально открыт другой сайт, а обращение осуществляется косвенно при помощи загрузки картинки или через iframe. Рекламные сети используют данную особенность для отслеживания перемещений пользователя между сайтами, а злоумышленники для организации CSRF-атак (при открытии подконтрольного атакующим ресурса с его страниц скрыто отправляется запрос на другой сайт, на котором аутентифицирован текущий пользователь, и браузер пользователя выставляет для такого запроса сессионные Cookie). С другой стороны возможность отправки Cookie на сторонние сайты применяется для вставки на страницы виджетов, например, для интеграции с YouTube или Facebook.

При помощи атрибута SameSite можно управлять поведением при выставлении Cookie и разрешить отправку Cookie только в ответ на запросы, инициированные с сайта, с которого эти Cookie изначально были получены. SameSite может принимать три значения "Strict", "Lax" и "None". В режиме 'Strict' Cookie не отправляются для любых видов межсайтовых запросов, включая все входящие ссылки с внешних сайтов. В режиме 'Lax' применяются более мягкие ограничения и передача Cookie блокируется только для межсайтовых субзапросов, таких как запрос изображения или загрузка контента через iframe. Отличие "Strict" и "Lax" сводятся к блокировке Cookie при переходе по ссылке.
Из других предстоящих изменений также намечается применение жёсткого ограничения, запрещающего обработку сторонних Cookie для запросов без HTTPS (с атрибутом SameSite=None Cookie смогут выставляться только в режиме Secure).

Кроме того, планируется выполнение работы по защите от применения скрытой идентификации ("browser fingerprinting"), включая методы генерации идентификаторов на основе косвенных данных, таких как разрешение экрана, список поддерживаемых MIME-типов, специфичные параметры в заголовках (HTTP/2 и HTTPS), анализ установленных плагинов и шрифтов, доступность определённых Web API, специфичные для видеокарт особенности отрисовки при помощи WebGL и Canvas, манипуляции с CSS, анализ особенностей работы с мышью и клавиатурой.

Кроме того в Chrome будет добавлена защита от злоупотреблений, связанных с затруднением возврата на исходную страницу после перехода на другой сайт. Речь ведётся о практике захламления истории переходов серией автоматических редиректов или искусственным добавлением фиктивных записей в историю просмотров (через pushState), в результате чего пользователь не может воспользоваться кнопкой "Back" для возврата на исходную страницу после случайного перехода или принудительного проброса на сайт мошенников или вредителей. Для защиты от подобных манипуляций Chrome в обработчике кнопки Back будет пропускать записи, связанные с автоматическими пробросами и манипуляциями с историей посещений, оставляя только страницы, открытие при явных действиях пользователя.

Opennet
 
Последнее редактирование:

Candellmans

Активный пользователь
Сообщения
1,583
Реакции
1,975
Баллы
203
Релиз Chrome 75

5.06.19
Компания Google представила релиз web-браузера Chrome 75. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Следующий выпуск Chrome 76 запланирован на 30 июля.

Основные изменения в Chrome 75:
  • В метод canvas.getContext() добавлен флаг "desynchronized" для обработки контекстов Canvas (2D или WebGL) с использованием альтернативной системы отрисовки, обеспечивающей минимальные задержки за счёт обхода штатного механизма обновления DOM и вывода напрямую через OpenGL;
  • Расширен API Web Share (объект navigator.share), при помощи которого можно вместо списка отдельных кнопок сгенерировать унифицированную кнопку для публикации в социальных сетях, актуальных для посетителя. В новом выпуске в API добавлена возможность вывода типового диалога для отправки файлов другим приложениям (например, на Android выводится блок для отправки через почту, Bluetooth и т.п.);
  • Реализована возможность разделения групп чисел в цифровых литералах символом подчёркивания. Например, для улучшения читаемости больших чисел в коде можно указывать 1_000_000_000 и это число будет обработано как 1000000000;
  • Для всех пользователей настольной версии включён по умолчанию режим строгой изоляции сайтов, при котором страницы разных хостов всегда размещаются в памяти разных процессов, в каждом из которых применяется свой sandbox. Главной особенностью режима строгой изоляции является разделение не по вкладкам, а по доменам, т.е. если раньше содержимое загруженных с других доменов скриптов, iframe и popup-ов выполнялось в одном процессе с базовым сайтом, то теперь они будут разделены по разным процессам;
  • Дополнения, занесённые в чёрный список теперь будут полностью удаляться, а не отключаться с переводом в неактивный режим.
  • Во встроенном менеджере задач Chrome (Settings > More Tools > Task Manager) обеспечено отображение обработчиков Service worker;
  • В метод window.open() добавлен атрибут "noreferrer", позволяющий открыть страницу без заполнения заголовка Referer;
  • Добавлены директивы CSP (Content Security Policy) "script-src-attr", "script-src-elem", "style-src-attr" и "style-src-elem", предоставляющие функциональность директив script и style, но с возможностью применения к отдельным обработчикам событий, элементам или атрибутам;
  • В Web Authentication API добавлена поддержка FIDO CTAP2 PIN для использования заданного пользователям PIN-кода для авторизации выполнения операций к ключами, поддерживающими протокол FIDO CTAP2. В конфигураторе в секции "Advanced" появился пункт "Manage security keys", в котором можно назначить PIN-код для защиты ключей, размещённых на USB-накопителе, а также опция для сброса ключа (очистки всех данных и PIN);
  • В API Web Animations добавлены объекты AnimationEffect и KeyframeEffect, позволяющие интерактивно управлять анимируемыми элементами и хронометражом (продолжительность, задержки). Кроме того, добавлен новый конструктор Animation(), предоставляющий более обширные средства для управления анимацией. Ранее Web Animations API позволял создавать анимацию при помощи метода Element.animate(), возвращающего уже сформированный объект Animation. Теперь разработчик может управлять его созданием через явный вызов конструктора, в котором, например, можно указать объект KeyframeEffect;
  • Добавлена опция HTMLVideoElement.playsInline, предписывающая браузеру отобразить видео в области воспроизведения элемента (например, для предоставления метода воспроизведения на весь экран);
  • В методе MediaStreamTrack.getCapabilities() реализована возможность получения диапазон допустимых значений для свойств, связанных с звуковыми устройствами (частота дискретизации, задержки, число каналов и т.п.);
  • В WebRTC добавлен API RTCDtlsTransport для получения сведений об активных транспортах, например об использовании SCTP или DTLS (Datagram Transport Layer Security), через которые отправляются или принимаются пакеты RTP и RTCP. Также добавлен интерфейс RTCIceTransport для предоставления информации о состоянии транспортов ICE, используемых в объекте RTCPeerConnection;
  • В заголовке Cache-Control реализована директива "stale-while-revalidate", позволяющая задать дополнительное окно времени, в течении которого браузер может использовать ресурс с просроченным временем асинхронной перепроверки актуальности;
  • Добавлена возможность Scroll Snap Stop для определения привязки к элементам при инерционной прокрутке (например, широкий листающий жест при выборе в списке изображений будет приводить к выбору не последнего элемента, а следующего);
  • В версии для Android улучшен интерфейс автозаполнения параметров учётных записей в формах аутентификации. Блок с подсказкой теперь выводится непосредственно над экранной клавиатурой и при клике отображает возможные сохранённые варианты вместо экранной клавиатуры, не заслоняя собой форму ввода;
  • Добавлена экспериментальная поддержка режима читателя (Reader Mode), при включении которого отображается только значимый текст, а все сопутствующие управляющие элементы, баннеры, меню, навигационные панели и прочие не связанные с контентом части страницы скрываются. Включение поддержки нового режима производится опцией chrome://flags/#enable-reader-mode, после чего в выпадающем меню появляется пункт для его использования;
  • В JavaScriptдвижке V8 реализован режим явного кэширования результатов компиляции WebAssembly (при повторном открытии страницы ранее обработанные компоненты WebAssembly будут запущены из кэша). В WebAssembly также добавлены новые инструкции memory.copy, memory.fill, table.copy, memory.init и table.init для копирования, заполнения и инициализации больших областей памяти;
  • Добавлена поддержка прямого разбора скриптов на лету по мере из загрузки по сети без привлечения основного потока Chrome. Ранее поток вначале принимался в main thread, из которого перенаправлялся в парсер. Подобная организация приводила к тому, что перенаправление могло блокироваться другими задачами, выполняемыми в основном потоке, такими как разбор HTML и выполнение других скриптов JavaScript. Теперь подобное перенаправление упразднено;
  • Улучшения в инструментах для web-разработчиков:
    • В режиме инспектирования CSS обеспечено автодополнение названий и базовых значений функций, которые можно применять в свойствах CSS (например, "filter: blur(1px)"). Предлагаемые значения становятся сразу отражаются на просматриваемом макете страницы;
    • В командной панели, выводимой при нажатии Ctrl+Shift+P, реализована команда "Clear Site Data" для очистки всех данных, связанных со страницей (аналог вызова меню Application > Clear Storage ), включая Service workers, localStorage, sessionStorage, IndexedDB, Web SQL, Cookies, Cache и Application Cache;
    • Добавлена возможность просмотра всех существующих БД IndexedDB (ранее в Application > IndexedDB можно было посмотреть БД для текущего домена, что не позволяло, например, проинспектировать использование IndexedDB в блоках, загружаемых через iframe);
    • В интерфейсе инспектирования сети в подсказке, всплывающей при наведении на поля в столбце "Size", теперь отображается размер ресурса в исходном виде, без сжатия;
    • В боковой панели отладчика обеспечен раздельный вывод сведений о состоянии точек останова, привязанных к отдельным частям сложных выражений в строке (inline breakpoint), например, выставленных в цепочке вызова методов;
    • В панелях инспектирования IndexedDB и Cache реализовано отображение счётчиков общего числа ресурсов в БД или кэше;
  • В экспериментальные Canary-сборки добавлена поддержка обращения к DNS поверх HTTPS (DoH, DNS over HTTPS), которую можно активировать в chrome://flags#dns-over-https. DoH может оказаться полезным для исключения утечек сведений о запрашиваемых именах хостов через DNS-серверы провайдеров, борьбы с MITM-атаками и подменой DNS-трафика, противостояния блокировкам на уровне DNS или для организации работы в случае невозможности прямого обращения к DNS-серверам (например, при работе через прокси);

Кроме нововведений и исправления ошибок в новой версии устранено 42 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 13 премии на сумму 9000 долларов США (одна премия $5000, две премии $1000 и четыре премии $500). Размер 7 вознаграждений пока не определён.

Opennet
 
  • Like
Реакции: akok
Сверху Снизу