Google browser

Релиз Google Chrome 56
Компания Google представила релиз web-браузера Chrome 56. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

Основные изменения в Chrome 56:

  • Началось воплощение в жизнь инициативы по пометке незащищённых HTTP-соединений специальной меткой в адресной строке. При открытии по HTTP страниц, передающих пароли или номера кредитных карт, браузер теперь предупреждает пользователя о проблемах с безопасностью. Индикатор небезопасного HTTP-соединения аналогичен индикатору, информирующему о проблемах с HTTPS, за тем исключением, что первое время он не будет выделен красным цветом (цвет будет изменён на красный на одном из последних этапов инициативы). В дальнейшем планируется перейти к выводу предупреждения о небезопасности для всех сайтов, открываемых по HTTP, а не только для страниц с формами ввода конфиденциальных данных. 0_1485422922.png
  • Для всех пользователей введены ограничения по воспроизведению Flash-контента, по умолчанию теперь предлагается использовать HTML5. Поддержка Flash больше не объявляется сайтам в списках navigator.plugins и navigator.mimetypes, а при желании воспроизведения Flash-контента от пользователя требуется явное включение поддержки Flash для каждого отдельного сайта;
  • Добавлена поддержка API Web Bluetooth, предоставляющего средства для доступа web-приложений к внешним устройствам, связанным через протокол Bluetooth Low Energy (BLE). Например, при помощи нескольких строк код на JavaScript можно получить доступ к внешним сенсорам, принтерам или экранам. Web Bluetooth API использует протокол GATT и пока ограничен платформами Android, Chrome OS и macOS. Для обнаружения устройств предлагается использовать механизм Physical Web, позволяющий быстро получать ссылки на окружающие объекты при помощи Bluetooth-меток Eddystone. Для просмотра списка доступных Bluetooth-устройств и их параметров реализована специальная страница "chrome://bluetooth-internals"; 0_1485422136.png
  • Добавлена встроенная поддержка звукового кодека FLAC (Free Lossless Audio Codec), развиваемого сообществом Xiph.Org и обеспечивающего уровень сжатия звукового потока в 50-60% без потери качества (lossless). FLAC поддерживается в контейнерах FLAC и Ogg в составе тега audio или при обработке потока через API decodeAudioData();
  • Включена по умолчанию поддержка API WebGL 2.0, предоставляющего средства для рендеринга 3D-контента на уровне возможностей OpenGL ES 3.0 через элемент canvas. Включение WebGL 2.0 и FLAC синхронизировано с проектом Mozilla, который позавчера активировал данные возможности в выпуске Firefox 51;
  • Прекращена поддержка алгоритма SHA-1, для которого выявлен ускоренный метод подбора коллизий. В частности, прекращена поддержка шифров ECDHE_ECDSA_WITH_AES_128_CBC_SHA, ECDHE_ECDSA_WITH_AES_256_CBC_SHA, а также алгоритма ECDSA с SHA-1 и SHA-512. Сайты использующие выданные удостоверяющими центрами сертификаты, заверенные с использованием алгоритма хэширования SHA-1, теперь будут помечаться как незащищённые. Локально добавленные сертификаты на основе SHA-1 продолжат свою работу до выпуска Chrome 57, намеченного на март. Для корпоративных пользователей реализована настройка EnableSha1ForLocalAnchors, позволяющая обойти вводимые ограничения и продолжить использование SHA-1 в PKI. Сертификаты с SHA-1, используемые для аутентификации клиентов, а также директива EnableSha1ForLocalAnchors будут поддерживаться до 1 января 2019 года.
  • Добавлена экспериментальная поддержка медиасеансов (Media Sessions, chrome://flags/#enable-default-media-session), позволяющих автоматически выбирать актуальный контент и предотвращать одновременное воспроизведение в нескольких вкладках. Например, при включенных медиасеансах, при открытии новой вкладки с роликом YouTube, проигрывание музыки в ранее открытой вкладке будет приостановлено;
  • Реализована поддержка липкого позиционирования CSS - position:sticky, при которой можно определить, чтобы при скроллинге часть блока оставалась видимой, пока сам блок полностью не выйдет за пределы экрана. Например, теперь можно легко сделать так, чтобы заголовок с пояснениями по столбцам для длинной таблицы был виден, пока видна хоть одна ячейка таблицы, не прибегая к усложнениям в виде перехвата событий прокрутки и переключения позиции с "relative" на "fixed";
  • В версии для платформы Android появилась поддержка API Remote Playback, позволяющего управлять воспроизведением контента через HTMLMediaElement на умных телевизорах или громкоговорителях;
  • Добавлена поддержка API WebVR, предоставляющего средства для создания приложений виртуальной реальности. Поддержка API пока ограничена платформой Android;
  • Web-приложениям предоставлена возможность инициирования создания фотографий со встроенной камеры и изменения настроек камеры через API Image Capture. Добавлена спецстраница "chrome://media-internals", на которой представлен список всех подключенных web-камер, а также поддерживаемых ими форматов и разрешений; 0_1485422031.png
  • При вылезании содержимого за пределы заданной в параметрах viewport области, браузер теперь автоматически подстраивает позицию прокрутки для оставления содержимого видимым, за исключением случаев явного применения CSS-свойства overflow-anchor;
  • В API Notifications реализована поддержка включения изображений в состав уведомлений через определение свойства "image"; 0_1485425948.png
  • Расширены возможности API PaymentRequest, например, появилась поддержка сериализации JSON и запроса имени плательщика (requestPayerName);
  • Скрытие или отображение адресной строки на мобильных устройствах более не приводит к изменению размеров содержимого и элемнтов, подогнанных под параметры viewport;
  • На устройствах с платформой Android, имеющих как минимум 512 Мб ОЗУ, в формах ввода текста включена по умолчанию проверка орфографии, при наличии необходимых словарей в системе;
  • Унифицировано базовое семейство шрифтов, используемое для элементов интерфейса, которое теперь на всех платформах поставляется под именем system-ui;
Кроме нововведений и исправления ошибок, в новой версии устранена 51 уязвимость. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 21 премию на сумму 50837 долларов США (одна премия $8837, две премии $8000, одна премия $7500, одна премия $5500, одна премия $3000, четыре премии $2000, одна премия $1000 и две премии $500). Сумма неокончательная, так как размер шести вознаграждений ещё не определён.
Chrome Releases: Stable Channel Update for Desktop
 
B Chrome намерены перейти к показу только домена в адресной строке

15.06.20
Компания Google добавила в кодовую базу Chromium, на основе которой будет сформирован выпуск Chrome 85, изменение, по умолчанию отключающее отображение элементов пути и параметров запроса в адресной строке. Видимым останется только домен сайта, а полный URL можно будет увидеть после клика на адресной строке.

Изменение планируется доводить до пользователей постепенно в ходе экспериментальных включений, охватывающих небольшой процент пользователей. Данные эксперименты позволят понять насколько скрытие URL соответствует ожиданиям компании, дадут возможность скорректировать реализацию с учётом пожеланий пользователей и покажут эффективно ли изменение в области защиты от фишинга. В Chrome 85 на странице about:flags появится опция "Omnibox UI Hide Steady-State URL Path, Query, and Ref", при помощи которой можно включить или отключить скрытие URL.

Изменение затрагивает как мобильные, так и настольные версии браузера. Для настольных версий предусмотрено несколько опций. Первая опция будет доступна в контекстном меню и позволит вернуться к старому поведению и всегда показывать полный URL. Вторая, которая пока предложена только в разделе about:flags, даст возможность включить отображение полного URL при наведении мыши на адресную строку (показ без необходимости клика). Третья позволит сразу после открытия показывать полный URL, но после начала взаимодействия со страницей (прокрутка, клики, нажатие клавиш) перейти к сокращённому отображению домена.

0_1592204740.png

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

Напомним, что Google начиная с 2018 года продвигает инициативу по уходу от показа традиционного URL в адресной строке, настаивая на том, что обычным пользователям трудно понять URL, его трудно читать и по нему сразу не понятно какие из частей адреса заслуживают доверия. Начиная с Chrome 76 адресная строка была переведена по умолчанию на показ ссылок без "https://", "http://" и "www.", теперь настала очередь урезания информативной части URL.

По мнению Google в адресной строке пользователь должен ясно видеть с каким сайтом взаимодействует и можно ли ему доверять (компромиссный вариант с более явным выделением домена и отображением параметров запроса более светлым/мелким шрифтом почему-то не рассматривается). Также упоминается путаница с заполнением URL при работе с интерактивными web-прижениями, такими как Gmail. При изначальном обсуждении инициативы некоторыми пользователями было высказано предположение, что избавление от показа полного URL выгодно для продвижения технологии AMP (Accelerated Mobile Pages).

При помощи AMP страницы отдаются пользователю не напрямую, а через инфраструктуру Google, что приводит к отображению в адресной строке другого домена (Example Domain) и часто вызывает замешательство пользователей. Уход от отображения URL позволит скрыть домен AMP Cache и создаст иллюзию прямого обращения к основному сайту. Подобное скрытие уже производится в Chrome для Android, но не применяется на настольных системах. Скрытие URL также может быть полезным при распространении web-приложений при помощи механизма Signed HTTP Exchanges (SXG), предназначенного для организации размещения верифицированных копий web-страниц на других сайтах.


OpenNet
 
Google решила проблему чрезмерного использования ОЗУ браузером Chrome

28.06.2020
В майском обновлении Windows 10 разработчики представили улучшенный механизм работы с динамической памятью, использование которого поможет сократить объём оперативной памяти, потребляемой разными приложениями. Теперь же стало известно, что Google выпустила первую тестовую сборку своего браузера Chrome, в которой была реализована новая функция.

611.jpg

Речь идёт о функции Segment Heap, которая может использоваться разработчиками приложений для снижения объёма потребляемой ОЗУ. Согласно имеющимся данным, Microsoft уже использовала данный инструмент в собственном браузере Edge, который построен на базе Chromium. Ранние тесты показали, что за счёт этого уровень потребления памяти браузером Edge может сократиться на 27 %. Версия Edge с поддержкой Segment Heap была доставлена пользователям вместе с обновлением Windows 10 May 2020 Update.

Google Chrome, основой которого является Chromium, предлагает обширный набор функций, но при этом он поглощает большое количество ОЗУ. Теперь же стало известно, что поддержка функции Segment Heap была реализована в Chrome Canary 85.0.4182.0, одной из ранних тестовых версий обозревателя.

Поскольку новая функция уже появилась в тестовой версии Chrome, можно предположить, что в скором времени она станет доступна пользователям бета-версий обозревателя. Однако до того, как поддержка Segment Heap будет реализована в стабильной версии Chrome, может пройти несколько месяцев. Кроме того, чтобы ощутить какие-то улучшения в работе Chrome потребуется Windows 10 (2004) или более поздней версии.



Источники:
  • WindowsLatest.com
  • 3DNews
 
Новый Google Chrome значительно экономит заряд аккумулятора
5.07.20
Функция доступна сейчас в экспериментальном виде
Компания Google тестирует функцию фирменного браузера Chrome, которая позволит продлить время автономной работы ноутбуков, смартфонов и других мобильных устройств.

MacBook-Battery-Life-Chrome-Battery-Power-S-669605.jpg

Об этом рассказал тематический ресурс TheWindowsClub. Начиная с версии Chrome 86 в браузере введено ограничение таймеров Javascript для страниц в фоновом режиме — не больше 1 срабатывания в минуту, как в Safari у Apple. Функция доступна в Chrome для Windows, Mac, Linux, Android и Chrome OS в экспериментальном виде, её можно активировать на странице chrome://flags.

Разработчики обнаружили, что нет никакой пользы для пользователей в излишнем использовании таймеров JavaScript, когда страница открыта в фоновом режиме. Нет необходимости отслеживать многие параметры, например, проверять не изменилась ли позиция прокрутки или анализировать взаимодействие с рекламой. Все эти «неважные» задачи JavaScript для страниц в фоне приводят к излишнему расходу аккумулятора мобильных устройств.

Ограничение позволяет снизить излишний расход заряда. Разработчики Google протестировали функцию с 36 открытыми в фоне пустыми вкладками и получили «выигрыш» почти в 2 часа автономной работы (28%). При дополнительном воспроизведении видео YouTube в фоне разница в автономной работе составила почти 36 минут (13%).


Источник: MSPowerUser, TheWindowsClub
iXBT
 
Релиз Chrome 84

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

Основные изменения в Chrome 84:

  • Отключена поддержка протоколов TLS 1.0 и TLS 1.1. Для обращения к сайтам по защищённому каналу связи сервер должен предоставить поддержку как минимум TLS 1.2, иначе браузер теперь будет выводить ошибку. По данным Google в настоящее время около 0.5% загрузок web-страниц продолжает осуществляться с использованием устаревших версий TLS. Отключение произведено в соответствии с рекомендациями IETF (Internet Engineering Task Force). Причиной отказа от TLS 1.0/1.1 является отсутствие поддержки современных шифров (например ECDHE и AEAD) и требование поддержки старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 и SHA-1). Настройка, дающая возможность вернуть TLS 1.0/1.1 будет сохранена до января 2021 года.

  • Обеспечено блокирование небезопасной загрузки (без шифрования) исполняемых файлов и добавлен вывод предупреждений при небезопасной загрузке архивов. В дальнейшем постепенно планируется полностью прекратить поддержку загрузки файлов без применения шифрования. Блокировка реализована, так как загрузка файлов без шифрования может использоваться для совершения вредоносных действий путём подмены содержимого в процессе MITM-атак.
  • Добавлена начальная поддержка идентификатора Client Hints, развиваемого в качестве альтернативы заголовка User-Agent. Механизм Client Hints предлагает в качестве замены User-Agent серию заголовков "Sec-CH-UA-*", позволяющих организовать выборочную отдачу данных о конкретных параметрах браузера и системы (версия, платформа и т.д.) только после запроса сервером. Пользователь получает возможность определить какие параметры допустимы для отдачи и выборочно предоставлять подобную информацию владельцам сайтов. При использовании Client Hints идентификатор не передаётся по умолчанию без явного запроса, что делает невозможным проведение пассивной идентификации (по умолчанию указывается только название браузера). Работа по унификации User-Agent отложена до следующего года.

  • Продолжена активация более жёсткого ограничения передачи Cookie между сайтами, которая была отмененаиз-за COVID-19. Для не-HTTPS запросов запрещена обработка сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики.

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

  • Добавлена экспериментальная реализация блокировщика ресурсоёмкой рекламы, которую можно активировать при помощи настройки "chrome://flags/#enable-heavy-ad-intervention". Блокировщик позволяет автоматически отключать рекламные iframe-блоки после превышения пороговых значений трафика и нагрузки на CPU. Блокировка будет срабатывать если в основном потоке израсходовано более 60 секунд процессорного времени в сумме или 15 секунд в 30-секундном интервале (потребляет 50% ресурсов более 30 секунд), а также когда загружено более 4 Мб данных по сети.

  • Блокировка будет срабатывать только если до момента превышения лимитов пользователь не взаимодействовал с рекламным блоком (например, не кликал на него), что с учётом ограничения на трафик позволит блокировать автовоспроизведение объёмных видеороликов в рекламе без явной активации воспроизведения пользователем. Предлагаемые меры избавят пользователей от рекламы с неэффективной реализацией кода или преднамеренной паразитной активностью (например, выполняющими майнинг). По статистике Google, подпадающая под критерии блокировки реклама составляет всего 0.30% от всех рекламных блоков, но при этом подобные рекламные вставки потребляют 28% ресурсов CPU и 27% трафика от всего объёма рекламы.

  • Проведена работа по снижению потребления ресурсов CPU когда окно браузера не находится в поле видимости пользователя. Chrome теперь проверяет не перекрывается ли окно браузера другими окнами и исключает отрисовку пикселей в областях перекрытия. Включение новой функции будет производиться постепенно: выборочно для некоторых пользователей оптимизация будет включена в Chrome 84, а для остальных в Chrome 85.
  • Включена по умолчанию защита от назойливых уведомлений, например, спама запросами на получение push-уведомлений. Так как подобные запросы прерывают работу пользователя и отвлекают внимание на действия в диалогах подтверждения, вместо отдельного диалога в адресной строке будет отображаться не требующая действий от пользователя информационная подсказка с предупреждением о блокировке запроса полномочий, которая автоматически сворачивается в индикатор с изображением зачёркнутого колокола. При клике на индикатор можно активировать или отклонить запрошенное полномочие в любой удобный момент.

    0_1590693599.png
  • Обеспечено запоминание выбора пользователя при открытии обработчиков внешних протоколов - пользователь может выбрать "всегда разрешать для этого сайта" для определённого обработчика и браузер запомнит это решение в привязке к текущему сайту.

  • Добавлена защита от изменения настроек пользователя без явного согласия. Если дополнение изменит предлагаемую по умолчанию поисковую систему или страницу, отображаемую для новой вкладки, браузер теперь выведет диалог с предложением подтвердить указанную операцию или отменить изменение.
  • Продолжено внедрение защиты от загрузки смешанного мультимедийного контента (когда на HTTPS-странице загружаются ресурсы по протоколу http://). На страницах, открытых по HTTPS, теперь автоматически будут заменяться ссылки "http://" на "https://" в блоках, связанных с загрузкой изображений (ранее заменились скрипты и iframe, автозамена звуковых и видео ресурсов ожидается в следующем выпуске). Если изображение недоступно по https, то его загрузка блокируется (вручную можно отметить блокировку через меню, доступное через символ замка в адресной строке).

  • Добавлена поддержка API Web OTP (развивался как SMS Receiver API), позволяющий организовать ввод на web-странице одноразового пароля, после получения SMS-сообщения с кодом подтверждения, доставленного на Android-смартфон пользователя, на котором запущен браузер. Подтверждение по SMS, например, может использоваться для проверки номера телефона, указанного пользователем при регистрации. Если раньше пользователь должен был открыть приложение для работы SMS, скопировать из него код в буфер обмена, вернуться в браузер и вставить этот код, то новый API даёт возможность автоматизировать данный процесс и свести его к одному касанию.
  • Расширено API Web Animations для управления воспроизведением web-анимации. В новом выпуске добавлена поддержка операций композитинга, позволяющих контролировать как комбинируются эффекты и предоставляющих новые обработчики, вызываемые при наступлении событий замены содержимого. API Web Animations также теперь поддерживает Promise для определения последовательности показа анимации и лучшего управления тем, как анимация взаимодействует с другими возможностями приложения.
  • В режиме Origin Trials (экспериментальные возможности, требующие отдельной активации) добавлено несколько новых API. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта.
    • API Cookie Store для доступа Service worker к HTTP Cookies, выступающий асинхронной альтернативой применения document.cookie.
    • API Idle Detection для определения неактивности пользователя, позволяющий определять время, когда пользователь не взаимодействует с клавиатурой/мышью, запущен хранитель экрана, экран заблокирован или работа выполняется на другом мониторе. Информирование приложения об неактивности осуществляется через отправку уведомления после достижения заданного порога неактивности.
    • Режим Origin Isolation, позволяет разработчику использовать более полную изоляцию обработки контента в отдельном процессе в привязке к источнику (origin - домен+порт+протокол), а не сайту, ценой прекращения поддержки некоторых устаревших возможностей, таких как синхронное выполнение скриптов, использующих document.domain, и вызов postMessage() для отправки сообщений экземплярам WebAssembly.Module. Иными словами, Origin Isolation позволяет организовать разделение по разным процессам на основе домена ресурса, а не сайта со всеми посторонними включениями на страницах.
    • API WebAssembly SIMD для использования векторных SIMD-инструкций в приложениях в формате WebAssembly. Для обеспечения платформонезависимости предлагаются новый 128-разрядный тип, который может представлять разные типы упакованных данных, и несколько базовых векторных операций для обработки упакованных данных. SIMD позволяет повысить производительность за счёт распараллеливания обработки данных и будет полезным при компиляции нативного кода в WebAssembly. Для включения поддержки SIMD можно использовать настройку "chrome://flags/#enable-webassembly-simd".

  • Стабилизирован и теперь распространяется вне Origin Trials API Content Indexing, предоставляющий метаданные о контенте, который ранее был прокэширован web-приложениями, работающими в режиме Progressive Web Apps (PWS). Приложение может сохранять на стороне браузера различные данные, включая изображения, видео и статьи, а при пропадании сетевого соединения использовать их при помощи API Cache Storage и IndexedDB. Content Indexing API даёт возможность добавлять, находить и удалять подобные ресурсы. В браузере данный API уже используется для перечисления списка страниц и мультимедийных данных, доступных для просмотра в offline.

  • Стабилизирован вариант API Wake Lock на основе механизма Promise, предоставляющий более безопасный способ управления отключением автоблокировки экрана и перевода устройств в энергосберегающие режимы.

  • В версии для платформы Android добавлена поддержка ярлыков приложений, позволяющих предоставить быстрый доступ к востребованным типовым действиям в приложении. Для создания ярлыков достаточно добавить элементы в манифест web-приложения в формате PWA (Progressive Web Apps)

  • . 0_1594832303.png

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

  • Обновлён API Resize Observer, позволяющий подключить обработчик, которому будут направляться уведомления об изменении размера указанных элементов на странице. В ResizeObserverEntry добавлено три новых свойства: contentBoxSize, borderBoxSize и devicePixelContentBoxSize для получения более детальной информации, выдаваемой в форме массива из объектов ResizeObserverSize.

  • Добавлено ключевое слово "revert" для сброса стиля элемента в значение по умолчанию.

  • Избавлены от префикса CSS-свойства "-webkit-appearance" и "-webkit-ruby-position", которые теперь доступны как "appearance" и "ruby-position".
  • В JavaScript реализована поддержка пометки методов и свойств класса приватными, после чего доступ к ним будет открыт только внутри класса (ранее приватными могли быть только поля). Для пометки методов и свойств приватным следует указать перед именем поля знак "#".
  • В JavaScript добавлена поддержка слабых ссылок (weak reference) на объекты JavaScript, позволяющих сохранить ссылку на объект, но не блокирующих удаление связанного объекта сборщиком мусора. Также добавлена поддержка финализаторов, дающих возможность определения обработчика, вызываемого после выполнения сборки мусора указанного объекта.

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

  • В инструментах для web-разработчиков pphttps://developers.google.com/web/updates/2020/05/devtools обновлена]] панель для анализа производительности. Добавлена общая информация о метрике TBT (Total Blocking Time), показывающей как долго страница кажется доступной, но на самом деле не доступна (т.е. страница уже отрисована, но ещё блокируется выполнение основного потока и невозможен ввод данных). Добавлена новая секция Experience для анализа метрики CLS (Cumulative Layout Shift), отражающей визуальную стабильность содержимого. В панели инспектирования CSS-стилей реализован предпросмотр изображений, указанных через свойство "background-image".
Кроме нововведений и исправления ошибок в новой версии устранено 38 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одна проблема (CVE-2020-6510, переполнение буфера в обработчике фоновых операций fetch) помечена как критическая, т.е. позволяет обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 26 премий на сумму 21500 долларов США (две премии $5000, две премии $3000, одна премия $2000, две премии $1000 и три премии $500). Размер 16 вознаграждений пока не определён.


OpenNet
 
B Chrome добавлена поддержка отложенной загрузки iframe-блоков

26.07.20
Разработчики браузера Chrome сообщили о расширении средств для отложенной загрузки элементов web-страниц, позволяющих не загружать содержимое, находящиеся вне видимой области, до тех пор, пока пользователь не прокрутит страницу в место, непосредственно предшествующее элементу. Ранее в Chrome 76 и Firefox 75 данный режим уже был реализован для изображений. Теперь разработчики Chrome сделали ещё один шаг и добавили возможность отложенной загрузки iframe-блоков.

Для управления отложенной загрузкой страниц в тег "iframe" добавлен атрибут "loading", который может принимать значение "lazy" (откладывать загрузку), "eager" (загружать сразу) и "auto" (откладывать загрузку на усмотрение браузера, при включении режима Lite). Предполагается, что отложенная загрузка позволит сократить потребление памяти, снизить трафик и увеличить скорость начального открытия страниц. Например, при включении нового режима перестанут сразу загружать блоки с рекламой и виджетами Twitter, Facebook и YouTube, если они не видны пользователю, пока пользователь не прокрутит страницу на позицию перед этими блоками.

0_1595750592.png

По оценке разработчиков в среднем отложенная загрузка позволит сэкономить 2-3% трафика, сократить число начальных отрисовок на 1-2% и уменьшит задержку перед доступностью ввода на 2%. Для конкретных сайтов изменения более заметны. Например, включение отложенной загрузки YouTube-блока приведёт к снижению загружаемых данных приблизительно на 500КБ, Instagram - на 100КБ, Spotify - 500КБ, Facebook - 400КБ. В частности, применение отложенной загрузки youtube-блоков на сайте Chrome.com позволило на мобильных устройствах до 10 секунд снизить время ожидания доступности страниц для начала взаимодействия и на 511КБ сократить размер изначально загружаемого JavaScript-кода.

0_1595751484.png


OpenNet
 
Назад
Сверху Снизу