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
 
Chrome лишился средств для отключения модуля с поддержкой DRM
В кодовую базу, лежащую в основе Chrome/Chromium 57, внесены изменения, убирающие поддержку интерфейса для управления плагинами "chrome://plugins". Наиболее существенным ограничением, возникающим после внесения данного изменения, является невозможность отключить CDM-модуль (Content Decryption Module) Widevine, предназначенный для декодирования медиаконтента, защищённого авторскими правами. Более того, после обновления Chrome 57 данный модуль будет активирован, даже если раньше он был отключен в настройках "chrome://plugins".

Кроме Widevine по умолчанию также будут активированы плагины с Flash, технологией Nacl (Native Client) и просмотрщиком PDF. Для Flash и просмотрщика PDF в интерфейсе изменения настроек браузера присутствуют опции, позволяющие отключить использование связанных с ними плагинов не прибегая к "chrome://plugins". Для отключения плагина Widevine без "chrome://plugins" пользователю придётся после каждого обновления удалять связанный с данным плагином файл с диска.

В качестве причины удаления "chrome://plugins" называется перемещение средств управления плагинами в специфичные для каждого плагина блоки настроек, присутствующие в штатном конфигураторе. По мнению разработчиков, подобное перемещение позволит сделать настройки Flash Player более заметным для пользователя, чем неявная служебная страница "chrome://plugins". Акцент делается на Flash, так как он остаётся единственным внешним плагином, входящим в базовую поставку. Плагины PDF, Widevine CDM и Nacl позиционируется как встроенная в браузер функциональность, развиваемая силами Google, поэтому их можно рассматривать как входящие в комплект библиотеки.

0_1485758643.png
Google removes Plugin controls from Chrome - gHacks Tech News
 
Последнее редактирование:
А это хорошо или плохо?
:Acute:любое ограничение плохо.Удобно ж когда любая программа более гибкая в настроях ( на вкус и цвет...)

. Для отключения плагина Widevine без "chrome://plugins" пользователю придётся после каждого обновления удалять связанный с данным плагином файл с диска.
 
Три копейки к выше сказанному
Как пишет обозреватель Ghacks, немецкий журналист Мартин Бринкманн (Martin Brinkmann), в Chrome 56 или более ранних версиях браузера пользователи могут загрузить страницу chrome://plugins, позволяющую включать или отключать плагины, а также активировать режим «запускать всегда». Кроме действий, на этой странице браузера можно посмотреть версию плагина и место его расположения на локальном диске.

Функция полезна тем, что через нее можно отключить плагины, которые невозможно сделать неактивными через опцию настроек. Допустим, Flash или PDF Viewer можно отключить через настройки. Widevine, плагин поддержки EME API, который предназначен для работы с техническими средствами защиты авторских средств — DRM и позволяет правообладателю запретить копирование аудио-видеоконтента через HTML5, можно отключить только через chrome://plugins.

Это относится и к другим плагинам, которые могут появиться в Chrome в будущем. Таким образом, пользователи Chrome 57, а также браузера с открытым исходным кодом Chromium, такой возможности лишены.

Лечение удалением

Бринкманн отмечает, что удаление возможности управления плагинами по сути продолжает тенденцию: уже в Chrome 56 плагины автоматически переподключались при очередной загрузке устройства. Таким образом, в последующих версиях браузера плагины по умолчанию будут активными. По мнению Мартина Бринкманна, таким образом разработчики Googleдемонстрируют, что ряд плагинов, вроде Widevine или NaCL (технология для создания защищенных плагинов для браузера), рассматриваются как неотъемлемая часть Chrome. При этом Flash или PDF Viewer таковыми не признаются.

Единственным решением проблемы, по словам журналиста, является физическое удаление папки с плагином с жесткого диска — C:\Program Files (x86)\Google\Chrome\Application\[Chrome Version]\WidevineCdm\. Однако папка появится снова при очередном обновлении браузера.

«Google лишил пользователя контроля за плагинами, и это достойно критики, поскольку ничего дружественного по отношению к пользователю здесь нет. Будем надеяться, что другие разработчики браузеров не последуют этому примеру», — резюмирует автор материала.

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

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

Включена по умолчанию поддержка технологии WebAssembly, продвижение которой синхронизировано и обговорено с производителями других браузеров, например, несколько дней назад WebAssembly также был активирован в Firefox 52. WebAssembly предоставляет не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения в браузере приложений, скомпилированных из различных языков программирования. WebAssembly предоставляет полный доступ к DOM и возможность взаимодействия с кодом на JavaScript, но по сравнению с Asm.js позволяет существенно сократить размер приложений (благодаря компактному промежуточному коду), увеличить скорость декодирования и избавиться от применения сборщика мусора;

Для упрощения миграции с HTTP на HTTPS, параметры входа, сохранённые для ранее открываемых по HTTP форм, теперь автоматически применяются и при открытии сайта по HTTPS. API Credential Management API расширено возможностью заполнения параметров входа на основе совпадения поддомена;
Убран интерфейс для управления плагинами "chrome://plugins". Плагины Widevine, Flash, Nacl (Native Client) и PDF, которые позиционируются как встроенная в браузер функциональность, будут активированы по умолчанию, даже если раньше они были отключены в интерфейсе "chrome://plugins". Для Flash и просмотрщика PDF в интерфейсе изменения настроек браузера предусмотрены опции, позволяющие отключить использование связанных с ними плагинов не прибегая к "chrome://plugins". Для отключения CDM-модуля (Content Decryption Module) Widevine, предназначенного для декодирования медиаконтента, защищённого авторскими правами, без "chrome://plugins" пользователю придётся после каждого обновления удалять связанный с данным плагином файл с диска;

Добавлена поддержка CSS Grid Layout, нового метода многослойной компоновки элементов страницы, выровненных по сетке. В основе метода заложена идея разбиения страницы на области по аналогии с табличной компоновкой с выравниванием по столбцам и строкам. В отличие от таблиц, CSS Grid Layout не определяет структуру содержимого, что позволяет применять методы адаптивной вёрстки и выстраивать произвольные макеты, которые недостижимы с использованием обычных таблиц (например, дочерние элементы могут перекрывать друг друга и переноситься в случае нехватки экранного пространства). По сравнению с Flexbox, который позволяет выравнивать элементы только в одной вертикальной плоскости, в CSS Grid Layout обеспечена возможность выравнивания элементов одновременно как по вертикальным, так и по горизонтальным направляющим, т.е. позволяет привязать выравнивание элеменов в разных столбцах. Для упрощения разработки, элементы в CSS Grid могут быть именованы;
Flexbox
CSS Grid Layout
В версию для платформы Android добавлена функция Progressive Web Apps, позволяющая добиться более полной интеграции запускаемых в браузере web-приложений с платформой Android. Progressive Web Apps позволяет не просто разместить на домашний экран ярлык, открывающий определённую страницу в браузере, а организовать работу с web-приложением, как с обычной программой для Android. Например, web-приложение будет отдельно отображаться в списке запущенных программ, вместо удаления ярлыка применяется деинсталляция, предоставляются средства для получения запросов от других приложений, возможно создание своего блока настроек в системном конфиругаторе применяются штатные средства управления уведомлениями, возможна работа при отсутствии сетевого соединения (данные и приложение кэшируются с использованием service workers);

Добавлен новый API Media Session, предоставляющий средства для настройки блока с информацией о воспроизведении мультимедийного контента в области уведомлений. Через данный API web-приложение может не только вывести уведомление о начале воспроизведения новой композиции, но и организовать управление из области уведомлений или через интерфейс хранителя экрана, например, разместить кнопки приостановки, перемещения по потоку или переходу к следующей композиции;

Введена вторая фаза прекращения поддержки SHA-1 - начиная с Chrome 57 в дополнение к сертификатам с SHA-1, выданным удостоверяющими центрами, перестанут работать и локально добавленные сертификаты на основе SHA-1. Для корпоративных пользователей реализована настройка EnableSha1ForLocalAnchors, позволяющая обойти вводимые ограничения и продолжить использование SHA-1 в PKI. Сертификаты с SHA-1, используемые для аутентификации клиентов, а также директива EnableSha1ForLocalAnchors будут поддерживаться до 1 января 2019 года;
При воспроизведении видео на весь экран на платформе Android ориентация экрана теперь выбирается в зависимости от пропорций видео;
Реализована приостановка выполнения JavaScript-кода сайтов, использующих цикличный вызов setTimeout() для вывода анимации, в случае если анимация выводится вне видимой области окна;
В Fetch API в класс Response добавлен атрибут ".redirected", позволяющий определить, что ответ получен в результате редиректа оригинального запроса на другой ресурс;

Добавлены методы padStart и padEnd, позволяющие организовать вывод строк с заполнением, например, выровнять консольный вывод или отображать числа с сохранением фиксированного размера ('12'.padStart(4, "0"); "0012");
Обеспечена возможность использования API Payment Request в блоках iframe, при явном указании в них атрибута "allowpaymentrequest";
В PaymentMethodData добавлена поддержка типовых карт, определённых в спецификации Basic Card Payment, что позволяет организовать работу с любыми типами карт через единый индентификатор, без привязки к отдельным типам данных;
Добавлено свойство caret-color, через которое можно изменить цвет курсора для форм ввода;
Для унификации обработки всех атрибутов on{event}, сводный обработчик GlobalEventHandlers теперь дополнительно охватывает атрибуты ongotpointercapture и onlostpointercapture;
Добавлено CSS-свойство "text-decoration-skip: ink", при указании которого линия подчёркивания разрывается в местах, где присутствуют выступающие части букв;
Добавлены новые свойства для CSS-элемента text-decoration, позволяющие включить визуальные эффекты, например, настроить стиль и цвет линии;
В конструкторе PresentationRequest реализована возможность передачи сразу нескольких URL;

Добавлен метод AudioContext.getOutputTimestamp(), позволяющий синхронизировать значение DOMHighResTimeStamp c AudioContext.currentTime;
В AudioBufferSourceNode, OscillatorNode и ConstantSourceNode обеспечено наследование свойств AudioScheduledSourceNode;
Предоставлена возможность создания специфичных для WebAudio событий, таких как OfflineAudioCompletionEvent и AudioProcessEvent;
С целью усиления безопасности XSS Auditor теперь целиком блокирует подозрительные страницы, вместо выборочной фильтрации следов межсайтового скриптинга на странице;

Прекращена поддержка тегов keygen и cursor (значок курсора может быть изменён через CSS-свойство cursor). Удалён API webkitCancelRequestAnimationFrame, на смену которому пришёл API cancelAnimationFrame;
Избавлены от префикса "-webkit-" элементы AudioContext и OfflineAudioContext.
Кроме нововведений и исправления ошибок, в новой версии устранено 36 уязвимостей.

Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 18 премий на сумму 38 тысяч долларов США (по одной премии $7500 и $5000, пять премий $3000, одна премия $2000, семь премий $1000 и три премии $500).
OpenNews: Выпуск web-браузера Chrome 57
 
Последнее редактирование:
Браузер Chrome научился работать на устройствах без экрана

В Chrome 59 появится возможность запускать браузер на устройствах без экрана. Разработчики могут воспользоваться ею уже сейчас. Раньше для запуска Chrome на серверной Linux приходилось обманывать его с помощью эмулятора монитора.

Режим headless

Начиная с 59 версии в браузер Chrome будет добавлена возможность запуска на устройствах, к которым не подключен монитор – например, на серверах. Режим «без экрана», который уже доступен разработчикам, называется headless.

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

Запускать Chrome на серверах можно было и раньше, но для этого приходилось пользоваться эмулятором дисплея типа Xvfb. Xvfb – это виртуальный сервер с виртуальным экраном, который можно развернуть на Linux. Он позволяет обмануть браузер, убедив его в том, что к ОС подключен монитор. Теперь такие уловки не требуются. Помимо Linux режим «без экрана» в будущем будет адаптирован для Windows и Mac OS.

Как запустить режим
Запустить режим «без экрана» можно, использовав опцию --headless следующим образом: $ chrome --headless --remote-debugging-port=9222 The Chromium Projects.

Можно добавить опцию --disable gpu, чтобы избежать сообщения об ошибке из-за отсутствующей библиотеки Mesa. Затем нужно перейти к h ttp://localhost:9222 или h ttp://IP:9222, чтобы открыть интерфейс Deveoper Tools. Для запуска также можно использовать инструмент Selenium.

chrome600.jpg
Новой версии браузера Chrome не понадобится монитор для работы
Компания Mozilla тоже упоминала, что работает над похожим режимом для браузера Firefox. Предположительно, его уже можно запустить нынешних в ночных сборках следующим образом: MOZ_HEADLESS=1 /path/firefox.

Грядущие изменения в Chrome
В браузере Chrome готовятся и другие нововведения. В марте 2017 г. разработчики Chrome заявили, что намерены запретить всплывающие окна-уведомления на JavaScript, поскольку они создают «слишком много возможностей для злоупотреблений». В блоге для разработчиков Google пояснила, что первые версии JavaScript, представленные в 1995 г., имели три функции взаимодействия с пользователем – alert(), confirm() и prompt(). Со временем их синхронные API стали конфликтовать с современными версиями браузеров.

Диалоговые окна являются модальными – движок JavaScript останавливается до получения отклика пользователя, что при злонамеренном использовании ведет к блокировке всего браузера. Для борьбы с ними Google планирует в ближайшей перспективе изменить обработку JavaScript, сделав функции alert(), confirm() и prompt() немодальными. Это уже реализовано в браузере Safari, где всплывающее JavaScript-окно исчезает при переходе пользователя на другую вкладку.

Неотключаемая защита от пиратства
В январе 2017 г. разработчики Google лишили пользователей Chrome возможности отключить DRM-защиту, которая не дает смотреть или копировать аудио и видео, защищенное авторскими правами. Изменения были внесены в ныне актуальную версию 57.

В Chrome 56 или более ранних версиях браузера пользователи могут загрузить страницу chrome://plugins, позволяющую включать или отключать плагины, а также активировать режим «запускать всегда». Таким образом можно отключить плагины, которые невозможно сделать неактивными через опцию настроек. В последующих версиях браузера плагины по умолчанию будут активными. Избавиться от них можно лишь физически удалив папку с плагином с жесткого диска.
Браузер Chrome научился работать на устройствах без экрана
 
Последнее редактирование модератором:
Релиз Chrome 58
Компания Google представила релиз web-браузера Chrome 58. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

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

  • В настойки добавлена опция для отключения API Encrypted Media Extensions, предназначенного для воспроизведения медиаконтента, защищённого авторскими правами. Необходимость в новой опции возникла после удаления в прошлом выпуске интерфейса для управления плагинами "chrome://plugins", так как без него не осталось средств для отключения CDM-модуля (Content Decryption Module) Widevine; 0_1492628352.png
  • Реализована поддержка API IndexedDB 2.0, предоставляющего для JavaScript средства работы с локальными БД, работающими в режиме ключ/значение, поддерживающими создание индексов, операции с курсором, первичные ключи и упорядоченную выборку данных. В новой редакции API представлены новые возможности по управлению схемой данных, методы для пакетного выполнения группы операций и более стандартизированные средства обработки сбоев. Для упрощения обновления БД, хранилища и индексы теперь могут быть переименованы после реструктуризации.
    Появилась возможность использования бинарных ключей, обеспечивающих компактное представление пользовательских ключей. Для упрощения извлечения данных добавлены методы getKey() и openKeyCursor(), позволяющие добиться повышения производительности выборки, в ситуации кода необходимо получить только ключ. Новый метод continuePrimaryKey() может оказаться полезен для разбиения больших наборов данных на части с обработкой в разных транзакциях без опасения дублирования первичных ключей. Добавлены методы getAll() и getAllKeys(), которые позволяют сразу получить всё содержимое базы без использования курсора;

  • Для iframe реализована опция "allow-top-navigation-by-user-activation", разрешающая выполнять навигацию по родительской странице из изолированного iframe при явном клике пользователя на ссылке, но запрещающая автоматический редирект. Опция полезна для размещения баннеров в iframe, позволяя совершать переходы на заинтересовавшую рекламу, но блокируя нежелательную активность (например, автоматический проброс на другие страницы);
  • Для приложений, работающих в режиме Progressive Web Apps, позволяющем организовать работу с web-приложением, как с обычной программой для Android (отображение в списке запущенных программ, выполнение деинсталляции, средства для получения запросов от других приложений, свой блок настроек в системном конфиругаторе, управление уведомлениями, работа при отсутствии сетевого соединения и т.п.), реализована возможность работы в полноэкранном режиме. Указав в файле-манифесте приложения свойство "display: fullscreen" web-приложение будет открываться без служебных кнопок, панели и адресной строки, если программа запущена через ярлык на домашнем экране. Подобный режим может быть востребован для таких приложений, как игры и мультимедийные проигрыватели; 0_1492634103.png
  • В CSS-свойство display добавлена поддержка значения flow-root, позволяющего сгенерировать блочный элемент, соответствующий новой технике блочного форматирования контента, что позволяет обойтись без ручной периодической установки свойств float и clear;
  • Добавлен интерфейс PointerEvents.getCoalescedEvents(), позволяющий получить доступ ко всем событиям ввода с момента последней доставки события PointerEvent. Подобная возможность может применяться для получения истории позиций перемещения указателя для таких приложений, как программы для рисования;
  • Workers и SharedWorkers теперь могут задаваться через URL "data:", что позволяет организовать более безопасное самодостаточное выполнение фоновых задач без привязки к домену;
  • Добавлен API ControlsList, через который предоставлена возможность менять оформление встроенных кнопок управления, таких как кнопки загрузки, перехода в полноэкранный режим и удалённого воспроизведения;
  • В Chrome для Android воспроизведение видео с флагом "autoplay" отныне будет останавливаться при переключении приложения на экране и возобновляться при возвращении в область видимости;
  • В Chrome для Android сайтам, добавленным на домашний экран, теперь разрешено автоматическое воспроизведение звука и видео с хостов, явно перечисленных в файле с манифестом;
  • Для оптимизации времени разбора JavaScript, элемнеты SVGPoint, SVGRect и SVGMatrix выделены из API Geometry в отдельные интерфейсы;
  • В Selection API добавлена функция removeRange(), позволяющая удалить объект Range, определяющий выделенный пользователем блок текста;
  • На платформе macOS добавлена поддержка атрибутов PointerEvent.tangentialPressure и PointerEvent.twist, определяющих параметры стилуса (например, в приложении для рисования можно учитывать силу нажатия);
  • В JavaScript теперь разрешено оставлять запятые в конце списков параметров и аргументов;
  • В WebAudio API добавлено свойство воспроизведения AudioContextLatencyCategory, позволяющее выбрать компромисс между величиной задержек и нагрузкой на CPU;
  • Создание уведомлений через Notifications API или запрос прав на вывод уведомлений теперь возможен только для сайтов, открытых по HTTPS;
  • API Encrypted Media Extensions теперь допускает только обработку данных, поступивших по HTTPS;
  • Прямые переходы на URL "data:" объявлены устаревшими для защиты от попыток спуфинга и фишинга;
  • Экземпляры объектов HTMLEmbedElement и HTMLObjectElement теперь не могут вызываться как функции.
Кроме нововведений и исправления ошибок в новой версии устранены 29 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 18 премий на сумму 14 тысяч долларов США (одна премия $3000, три премии $2000, одна на $1500, две премии $1000 и три премии $500). Размер двух вознаграждений пока не определён.
 
Последнее редактирование:
Во всех версиях Google Chrome появится встроенный блокировщик рекламы
Ссылаясь на собственные, неназванные источники, журналисты издания The Wall Street Journal сообщили, что компания Google готовит весьма неожиданное новшество. По данным издания, вскоре все версии браузера Chrome, начиная с десктопной, получат собственный, встроенный блокировщик рекламы, который к тому же будет включен по умолчанию.

Похоже, в Google решили руководствоваться принципом «не можешь победить — присоединяйся», ведь компании, которым принадлежат сторонние блокировщики, зарабатывают неплохие деньги, в частности взимая с сайтов средства за отображение рекламы и добавление объявлений в «белые списки». И хотя многие выразили недоумение из-за того, что Google собирается блокировать рекламу, ведь львиная доля доходов компании зависит именно от нее, на самом деле, это шаг вполне логичен.


Так, по данным Net Market Share, браузеру Google в настоящее время принадлежит более 50% мирового рынка, и блокировщики рекламы для Chrome, вполне предсказуемо, являются одними из наиболее популярных. Если же Google представит собственное решение в данной области, оно немедленно станет одним из лидеров рынка, Google превратится в доминирующую силу и получит возможность диктовать рынку свои условия.

The Wall Street Journal пишет, что пока Google собирается блокировать лишь ту рекламу, которая не соответствует стандартам принятым Coalition for Better Ads. Фактически это означает, что блокировщик будет бороться лишь с наиболее агрессивной и навязчивой рекламой. К примеру, стандартам не соответствует реклама со звуком и видеоролики, которые начинают проигрываться автоматически, всплывающие сообщения, закрывающие большую часть экрана, или так называемая prestitial-реклама (этим термином обозначают рекламу, которая имеет собственную страницу и загружается перед целевым URL, а затем пользователю демонстрируют таймер, отсчитывающий время до закрытия навязчивого объявления).

При этом, по данным The Wall Street Journal, разработчики Chrome рассматривают вариант блокирования всей рекламы на сайте, если хотя бы одно из объявлений нарушает стандарты Coalition for Better Ads.

Пока представители Google фактически отказываются комментировать данную информацию. «Мы тесно сотрудничаем с Coalition for Better Ads и представителями индустрии, чтобы изучить многочисленные способы, которые позволят Google и другим членам Коалиции поддерживать стандарты Better Ads», — сообщили представители компании.
Во всех версиях Google Chrome появится встроенный блокировщик рекламы - «Хакер»
 
Последнее редактирование:
Релиз Google Chrome 59
Компания Google представила релиз web-браузера Chrome 59. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

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

  • Для платформы Linux сборка по умолчанию теперь осуществляется с использованием библиотеки GTK3+, что значительно улучшило сочетаемость браузера с темами оформления современных дистрибутивов на основе GTK3+. Например, в интерфейсе теперь корректно применяются цветовые схемы, используются более современные системные виджеты, корректно оформляются контекстные меню и всплывающие диалоги;
  • Представлено новое оформление раздела настроек, в котором задействован стиль Material Design. Новый интерфейс примечателен более широкой и заметной строкой поиска, новыми пиктограммами в меню в левой части экрана, слиянием секций "Sign In" и "People", упрощением раздела настройки контента и переименованием ряда секций ("Search" переименован в "Search Engine", "Privacy" в "Privacy and Security"). Настройки работы через прокси перемещены в секцию "System", настройки размеров шрифта и масштабирования в секцию "Appearance", а настройки сертификатов HTTPS в "Privacy and Security"; 0_1496735253.png 0_1496735276.png
  • В JavaScript-движке V8 задействована новая упрощённая схема компиляции, основанная на применении интерпретатора Ignition и JIT-компилятора Turbofan. Ранее в V8 использовался достаточно сложный многоуровневый процесс компиляции JavaScript, в котором одноразовый код интерпретировался на первой стадии, после чего генерировался машинный код для JIT, который периодически обновлялся и улучшался двумя оптимизирующими JIT-компиляторами. Новая схема подразумевает применение на первой стадии нового быстрого интерпретатора с байткодом и подключения по мере выполнения кода JIT-компилятора Turbofan.
    Таким образом, полностью исключена фаза упреждающей генерации неоптимизированного машинного кода JIT-компилятром FullCodegen, а также удалены привязки к старому JIT-компилятору Crankshaft и лишняя логика разветвлений. Вместо машинного кода интерпретатор Ignition использует байткод, выполняемый в регистровой виртуальной машине, который требует в 2-4 раза меньше памяти, а по скорости выполнения в реальных приложениях этот байткод очень близок к неоптимизированному машинному коду. Задействование по умолчанию новой схемы привело к повышению производительности выполнения JavaScript-приложений и снижению потребления памяти;

    0_1496729272.png 0_1496729250.png
  • Добавлен режим работы без вывода на экран (headless), который позволяет запускать браузер на системах без монитора и графической подсистемы, например, на серверах. Режим активируется через запуск с опцией "--headless". В качестве областей применения называется автоматизированное тестирование при помощи Selenium и возможность автоматизированной обработки страниц с использованием полноценной платформы Chromium, например, можно загрузить страницу, извлечь нужные элементы DOM и сохранить результат в виде картинки (или PDF). Для управления предлагается использовать протокол удалённой отладки (RemoteDebug);
  • Добавлена экспериментальная страница со всеми внутренними настройками (chrome://prefs-internals); 0_1496735463.png
  • В экспериментальном режиме (включается в chrome://flags/#enable-md-extensions) представлено новое оформление интерфейса управления дополнениями, приведённое в соответствие с концепцией Material Design; 0_1496735582.png
  • Организован вывод уведомлений через штатную систему нотификации macOS, вместо вывода уведомлений в браузере; 0_1496731231.png
  • В Service Worker добавлен новый API Navigation Preload, позволяющий организовать упреждающее выполнение навигационных запросов во время запуска Service worker, сведя к минимуму ожидание загрузки элементов навигации;
  • Добавлено свойство MediaError.message для извлечения детальной информации об ошибке, возникшей в процессе воспроизведения мультимедийного контейнта в тегах audio и video;
  • Streams API расширен функциями WritableStreams, предоставляющими дополнительный уровень абстракции для организации записи потоковых данных в канал, имеющий встроенные средства ограничения потока. Также добавлена возможность создания неименованных каналов (pipe) между ReadableStreams и WritableStreams через использование методов pipeTo() и pipeThrough();
  • Разработчикам предоставлена возможность применения функции getInstalledRelatedApps для консолидации push-уведомлений между web-страницей и приложениями;
  • В API Image Capture добавлены средства для создания снимков высокого разрешения и полного управления настройками камеры, такими как коэффициент увеличения, ISO и баланс белого;
  • Для CSS-файлов теперь можно определять отдельные правила обработки Referrer через HTTP-заголовок Referrer-Policy, вместо наследования правил, заданных в документе;
  • Для того чтобы не раздражать пользователя постоянными запросами, Chrome теперь автоматически временно (на одну неделю) блокирует запросы на подтверждение операций, в случае если пользователь уже три раза отклонил этот запрос;
  • Добавлена новая CSP (Content Security Policy) директива worker-src, позволяющая ограничить URL только загрузкой Worker, SharedWorker или ServiceWorker;
  • Запрещён вывод запросов для предоставления полномочий на вывод уведомлений, отправленных без шифрования по HTTP;
  • Для повышения защиты обеспечено блокирование запросов к ресурсам, которые содержат встроенные параметры аутентификации. Подобные запросы теперь приводят к выводу ошибки;
  • Обеспечено блокирование запросов к URL "ftp://" из документов, открытых по HTTP и HTTPS;
  • Переведена в разряд устаревших возможность вызова Notification.requestPermission() из не первичных фреймов;
  • Временно отключена по умолчанию поддержка расширения SDCH (Shared Dictionary Compression over HTTP), до стандартизации стабильного API.
  • Добавлена поддержка формата APNG, позволяющего создавать анимированные PNG-изображения с 24-разрядной глубиной цвета и дополнительными 8 битами на прозрачность. APNG обратно совместим с PNG (первый кадр анимации представляет собой обычный PNG, поэтому если декодировщик не поддерживает расширения для анимации, то будет показано статическое изображение).
Кроме нововведений и исправления ошибок в новой версии устранено 30 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer.

Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 16 премий на сумму 23.5 тысяч долларов США (одна премия $7500, две премии $3000, , две премии $2000, пять премий $1000 и две премии $500). Размер четырёх вознаграждений пока не определён.
OpenNews: Выпуск web-браузера Chrome 59
 
Последнее редактирование:
Релиз Google Chrome 60

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

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

  • Реализована возможность использования формата кодирования видео VP9 в медиаконтейнерах MP4 (ISO BMFF). Поддержка MP4 потребовала реализации нового строкового формата для определения параметров кодека VP9, который теперь доступен и в различных мультимедийных Web API;
  • Добавлен Paint Timing API, позволяющий отследить время различных стадий отрисовки страницы. При помощи данного API можно выявить узкие места загрузки страницы и проблемные моменты, например, ситуации когда посетителю уже видна ссылка или форма ввода, но из-за того, что JavaScript ещё не загрузился, их обработчики недоступны; 0_1501012160.png
  • Добавлено CSS-свойство font-display и правило @font-face, которые дают возможность определить как и когда отображать текстовое содержимое, если шрифт ещё не загрузился. Ранее при использовании внешних шрифтов отрисовка текста не производилась до окончания загрузки шрифта. Теперь текст можно отобразить сразу, временно используя шрифт по умолчанию;
  • В API Credential Management API, предоставляющий сайтам возможность сохранять и запрашивать учётные данные пользователя, добавлена возможность получения пользовательского пароля непосредственно в составе структуры PasswordCredential, без необходимости подключения обработчика при помощи метода fetch(). Для точного следования спецификациям, развиваемым рабочей группой W3C Web Authentication Working Group, свойство requireUserMediation переименовано в preventSilentAccess;
  • В Chrome для настольных систем обеспечена возможность использования API Payment Request, позволяющего организовать быстрое совершение платежей при помощи кредитной карты, без необходимости повторного ручного ввода типовой информации, такой как данные о плательщике, номер карты (для подтверждения вводится CVC-код) и адрес доставки;
  • Сайтам предоставлена возможность собирать платежи через собственные Android-приложения, используя Payment Request API;
  • Добавлена поддержка нового синтаксиса клонирования и объединения объектов. Например, для клонирования вместо "Object.assign({}, data)" теперь можно указать "{ ...data }", а для объединения "{ ...defaultSettings, ...userSettings }";
  • Представлен новый API Web Budget, который позволяет сайтам запросить права на отправку ограниченного числа push-сообщений, приводящих в выполнению фоновых работ, таких как синхронизация данных, без вывода видимого для пользователя уведомеления. API разработано в рамках инициативы по подавлению активности в фоновых вкладках;
  • Добавлена поддержка формата Web Push Encryption (шифрованные push-сообщения), для определения использования которого можно применять свойство PushManager.supportedContentEncodings;
  • Добавлен атрибут PushSubscription.expirationTime, который предоставляет информацию об истечении времени подписки на push-уведомления;
  • Для увеличения производительности и предсказуемости поведения, события pointermove и mousemove, теперь доставляются один раз на каждый AnimationFrame, что соответствует поведению событий scroll и TouchEvents;
  • Добавлен псевдо-класс CSS ":focus-within", влияющий на работу любых элементов, на которые действует псевдо-класс ":focus", а также на все их потомки;
  • Реализована функция frames(), формирующая на основе заданного значения набор из равных интервалов;
  • Для обеспечения перехвата операций редактирования в InputEvent добавлена возможность обработки пользовательского ввода при помощи скрипта;
  • Для увеличения безопасности диалог BeforeUnload, который вызывается когда пользователь покидает сайт, теперь показывается только если на странице с которой осуществлён вызов производились какие-либо действия пользователя (если закрыть страницу сразу диалог не будет показан). На обработчики событий BeforeUnloadEvent данное изменение пока не распространяется;
  • Переведена в разряд устаревших большая порция API, в том числе WebKitAnimationEvent, WebKitTransitionEvent, RTCPeerConnection.getStreamById(), SVGPathElement.getPathSegAtLength(), indexedDB.webkitGetDatabaseNames(), Headers.prototype.getAll().
Кроме нововведений и исправления ошибок в новой версии устранено 40 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 21 премию на сумму 26 тысяч долларов США (по одной премии в $10000, $5000, $3000 и $2000, пять премии $1000 и две премии $500). Размер десяти вознаграждений пока не определён.
OpenNews: Выпуск web-браузера Chrome 60
 
Последнее редактирование:
Chrome предупредит пользователей если расширение перехватывает контроль над трафиком
На прошлой неделе стало известно, что за последние месяцы компрометации со стороны неизвестных злоумышленников подверглись сразу восемь популярных расширений для Chrome. Суммарно злоумышленники подвергли опасности почти пять миллионов пользователей.

Теперь стало известно, что в браузере Chrome появится новая защитная функция, особенно актуальная в свете этой серии атак (которая, скорее всего, не ограничится восемью уже пострадавшими расширениями). Новую функцию заметили в билдах Google Chrome Canary (v62.x). Теперь если расширение проявляет подозрительную активность, браузер предупредит об этом пользователям.


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

Также издание Bleeping Computer сообщает, что недавно представители Google разослали разработчикам письмо, в котором сообщалось, что с 1 августа 2017 года изменения домашней страницы браузера, поисковой системы и так далее следует реализовать исключительно через Settings Overrides API.

Chrome-email.png
Chrome предупредит пользователей, если расширение перехватывает контроль над трафиком - «Хакер»
 
Google Chrome 61 доступен для загрузки. Что нового

2017-09-06
Компания Google выпустила новую версию браузера Chrome 61 для всех поддерживаемых операционных систем. Обновление включает исправление 22 недавно обнаруженных уязвимостей
2017-09-06_09-44-40.png


Новый Google Chrome версии 61.0.3163.79 поставляется с исправлениями 6 различных уязвимостей “высокого риска”, обнаруженных независимыми исследователями, включая проблему использования освобожденной памяти в PDFium, а также ошибки переполнения буфера в WebGL и в Skia. Во всех этих случаях исследователи получили по 5000 долларов от Google в рамках программы поощрения.

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

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

Поддержка Device RAM API
Начиная с новой версии браузер Google больше не будет декодировать видеокадры с использованием Media Source в фоновых вкладках - это должно помочь повысить производительность и избежать высокой загрузки процессора из-за фоновых вкладок.

Еще одним преимуществом является реализация поддержки Device RAM API. Это означает, что веб-сайты могут получить доступ к системной информации, такой как объем оперативной памяти, доступной на устройстве. Эти данные могут использоваться для оптимизации производительности веб-приложения под аппаратную конфигурацию компьютера пользователя.

Новая версия Google Chrome доступна операционных систем для GNU/Linux, macOS и Microsoft Windows. Также доступны для загрузки новые версии для разработчиков. Если вы уже используете Chrome, встроенный механизм автоматического обновления должен получить новую версию, но для завершения обновления потребуется перезапуск браузера.

Скачать Google Chrome 61

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

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

  • Расширен спектр ситуаций при которых выводится сообщение о небезопасном соединении при обращении к сайтам по HTTP. Помимо уже выставляемой метки небезопасного соединения при заполнении форм ввода пароля и номеров кредитных карт, аналогичное предупреждение теперь будет выводиться при заполнении любых форм данных на страницах открытых по HTTP, а также при открытии сайтов по HTTP в режиме инкогнито; 0_1493315263.png
  • Возможность отключить звук для отдельных сайтов. Пользователь может на постоянной основе заблокировать вывод звука для конкретных сайтов, которые злоупотребляют автоматическим воспроизведением видео или раздражающими звуковыми эффектами;


    0_1503904298.png
  • Обрамление окна и кнопки закрытия, сворачивания и раскрытия на весь экран в Linux теперь отображаются с использованием стиля из штатной темы оформления GTK3+;

  • В настройки добавлена опция для включения режима инвертирования прокрутки, меняющего направление сдвига содержимого при прокрутке вращением колеса мыши; 0_1508304544.png
  • В API Network Infomation добавлены метрики качества сетевого соединения, позволяющие оценить реальную пропускную способность текущего подключения и задержки в доставке пакетов, помимо ранее предоставляемых сведений о теоретической скорости сетевого интерфейса. Кроме того, предоставлены средства для постоянного отслеживания сетевой производительности и генерации уведомлений об изменении качества канала связи. Информация о скорости привязана к классам сетевого подключения, таким как 2G, 4G, WiFi и Ethernet (например, будет выставлен класс 2G, даже если фактическое соединение Ethernet, но наблюдаются большие задержки). С практической стороны, разработчики могут воспользоваться новым API для загрузки упрощённой версии сайта или отключения сервисов, требующих интенсивной передачи данных, в условиях медленного сетевого соединения;
  • Добавлена поддержка изменчивых шрифтов OpenType (variable fonts), в которых толщина, ширина и другие стилистические характеристики глифа могут произвольно меняться. Вместо отдельного описания каждого представления, комбинации возможных вариантов определяются в одном шрифтовом ресурсе через определения возможных delta-отклонений от базового глифа с получением результата через применение интерполяции. Таким образом, вместо использования для каждого стиля своего файла со шрифтом, можно обойтись одним шрифтовым файлом, что значительно сокращает размер данных, необходимых для получения заданного результата. Управление параметрами отрисовки изменчивых шрифтов осуществляется при помощи CSS-свойств font-weight (теперь можно указывать не только класс, но и цифровые значения для толщины и стиля) и font-variation-settings (более тонкая настройка глифов);
  • В API DOM Elements добавлено расширение Media Capture, позволяющее захватывать содержимое, отрисовываемое при помощи HTMLMediaElements (например, контент, выводимый через теги video и audio). Захват инициируется методом captureStream(), после чего мультимедийные данные передаются в форме MediaStream напрямую из HTMLMediaElements. В том числе возможна запись и отправка захваченного потока через WebRTC и обработка при помощи API WebAudio;
  • Внесены новые оптимизации производительности в JavaScript-движок V8. До 6.5 раз увеличена скорость работы метода Object#toString(), что положительно сказалась на работе фреймворков, использующих Object#toString(), например, производительность AngularJS возросла примерно на 3% (по тесту Speedometer). Также до 3 3 раз ускорена работа метода String#includes(), до 5 раз someProxy(params) и SomeOtherProxy(params) и до 6.5 раз someProxy.property. Внесены оптимизации в работу Map, Set, WeakMap и WeakSet, позволившие ускорить работу с хэшами при использовании библиотеки Hashcode; 0_1508308109.png
  • Улучшена работа движка V8 на устройствах с небольшим объёмом ОЗУ, для которых начальный размер буфера для объектов с коротким жизненным циклом уменьшен до 512K;
  • Максимальный размер строк на 64-разрядных системах увеличен с 2^28 (256 Мб) до 2^30 символов (1 Гб);
  • В движке разбора регулярных выражений по умолчанию включен режим dotAll при указании флага "s", при котором под маску "." подпадает в том числе символ перевода строки (/foo.bar/su.test('foo\nbar'); // true). Добавлен механизм оценкиLookbehind, позволяющий определить в регулярном выражении, что один шаблон предшествует другому (например, сопоставить сумму в долларах без захвата знака доллара);
  • В API PaymentRequest для каждого метода платежей обеспечена возможность указания перечня цен и элементов при помощи модификатора PaymentDetailsModifier.data;
  • Добавлена поддержка html-элементов ‹data› и ‹time› для опредления значений для автоматического разбора, например, "‹data value="8"›Восемь ‹/data›" или " ‹time›2017-10-18 13:04‹/time›";
  • В парсер значений цветов в CSS добавлена поддержка 8- и 4-значных шестнадцатеричных форматов значений цвета (#RRGGBBAA и #RGBA);
  • Добавлен "Origin Trial" для WebVR, что позволяет начать эксперименты с web-приложениями для виртуальной реальности;
  • Расширен интерфейс загрузки файлов в Chrome для Android через формы ‹input type="file"›. Обеспечена возможность выбора для загрузки сразу нескольких файлов, если через атрибут accept разрешена только загрузка изображений;
  • В API MediaSource расширены средства перемещения по потоку при помощи метода HTMLMediaElement.seekable, благодаря новым API setLiveSeekableRange и clearLiveSeekableRange.
  • В API Media Source Extensions (MSE) добавлена поддержка формата кодирования звука FLAC;
  • В Chrome для Android добавлена поддержка модуля декодирования контента (Content Decryption Module) Widevine L1 и реализована возможность воспроизведения защищённого контента в offline;
  • В шаблонах разрешено использование символов экранирования, что позволяет создавать шаблоны для конструкций LaTeX;
  • Запрос подтверждения полномочий на показ уведомлений теперь возможен только при открытии сайта по HTTPS.
Кроме нововведений и исправления ошибок в новой версии устранено 35 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 20 премий на сумму более 40 тысяч долларов США (одна премия $7500, две премии $5000, пять премий $3000, одна премия $2000, три премии $1000, одна премия $1337 и три премии $500). Размер пяти вознаграждений пока не определён.
OpenNews: Выпуск web-браузера Chrome 62
 
Последнее редактирование:
Релиз Chrome 63
Компания Google представила релиз web-браузера Chrome 63. Одновременно доступенстабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

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

  • Изменено оформление страницы "chrome://flags", позволяющей активировать доступные для тестирования экспериментальные возможности. В новом оформлении применён метод адаптивной верстки, проведена оптимизация для работы с сенсорного экрана, добавлена поддержка поиска флагов по маске, изменена цветовая схема, явно разделены опции, доступные и недоступные на данной системе; 0_1512628818.png
  • Добавлена новая служебная страница "chrome://gpu", на которой представлены подробности о графической подсистеме, такие как число бит на пиксель и на цветовой компонент, параметры масштабирования для монитора, настройки цветового пространства и т.п. 0_1512628711.png
  • Обеспечен вывод предупреждения при выявления попыток перехвата трафика HTTPS, в результате активности вредоносного ПО или MITM-прокси. В качестве признака для вывода предупреждения используется аномально большое число ошибок SSL-соединений для разных сайтов за короткий промежуток времени, т.е. метод выявляет факты грубой подмены, в результате которой возникают ошибки SSL и соединение помечается как небезопасное. Основное отличие от предупреждения о небезопасном соединении заключается в том, что пользователь информируется о возможной локальной MITM-атаке, которая не связана с проблемами настройки HTTPS на конкретном внешнем сайте.


    0_1505028353.png
  • Включена пометка флагом небезопасного соединения обращений к ресурсам по протоколу FTP. Протокол FTP рассматривается как уступающий HTTP по уровню защиты, так как у HTTP есть возможность применения HSTS (HTTP Strict Transport Security) для автоматизации проброса на HTTPS;


    0_1505456783.png
  • При нажатии на индикатор уровня безопасности страницы теперь выводится только список изменённых настроек и разрешений доступа. Настройки которые не изменились и остаются в значении по умолчанию не показываются под индикатором, но остаются доступны в разделе просмотра информации о странице (Page Info); 0_1512629258.png
  • При просмотре видео курсор при попадании поверх видео теперь автоматически скрывается при скрытии элементов управления воспроизведением;
  • В инструменты для разработчиков (DevTools) добавлена возможность инспектирования кода внутренних компонентов интерфейса браузера (для включения требуется устновить флаг chrome://flags/#enable-ui-devtools); 0_1512629997.png
  • Продолжена работа по борьбе с навязчивыми уведомлениями и запросами полномочий, которые по статистике Google игнорируются или отвергаются пользователями в 90% случаев (например, многие сайты злоупотребляют предложениями об отправке push-уведомлений). В дополнение к ранее добавленной в Chrome 59 временной блокировке запросов (блокировка на неделю, если пользователь три раза отклонил запрос), в новом выпуске Chrome для Android запросы теперь выводятся в форме модального диалога (требует обязательных действий от пользователя) вместо ничего не обязывающего баннера в нижней части. Предполагается, что это подтолкнёт разработчиков сайтов запрашивать расширенные полномочия только при возникновении реальной необходимости и в привязке к контексту запрошенного посетителем действия, а пользователя заставит более внимательно реагировать на запросы полномочий, не просто игнорируя их, а принимая или запрещая;
  • Реализована возможность динамической загрузки JavaScript-модулей, принимая решение о потребности в модуле непосредственно в коде. Кроме ранее предложенного статического метода загрузки модулей через тег "script" с флагом "type=module", модули и скрипты теперь можно загружать по мере возникновения необходимости при помощи конструкции import(specifier) в JavaScript-коде;
  • Представлен новый API Device Memory, позволяющий получить сведения о размере оперативной памяти. Данная информация может оказаться полезной для создания легковесных вариантов web-приложений, загружающихся для устройств с небольшим ОЗУ или для активации расширенных возможностей при наличии большого объёма памяти;
  • Добавлена поддержка указания режима async при объявлении функций генератора, а также возможность применения async к итераторам, которые могут использоваться в циклах "for";
  • В браузер встроены правила, подставляющие заголовок HSTS (Strict Transport Security) для открытия по умолчанию HTTPS на всех сайтах, использующих домены первого уровня .dev и .foo. Данные домены принадлежат компании Google, которая определяет правила их использования, и ориентированы для размещения сайтов, связанных с разработкой ПО и web-приложений.
  • Добавлена поддержка шлемов виртуальной реальности Daydream View для просмотра сайтов с поддержкой WebVR;
  • В CSS добавлен новый спецификатор "Q" для определения размера с точностью 1/4 мм (например, "letter-spacing: 4q");
  • Добавлено новое CSS-свойство overscroll-behavior, позволяющее изменить поведение при достижении конца области прокрутки;
  • Обеспечена генерация событий beforeprint и afterprint в процессе вывода страницы на печать, давая возможность разработчикам прикрепить аннотацию к печатной копии и отредактировать её после отправки на печать;
  • Добавлен API Intl.PluralRules, упрощающий корректное оформление значений в множественном числе (например, 1 кошка, 2 кошки, 5 кошек);
  • Реализована поддержка аутентификации с использованием второй версии API NTLM (NT LAN Manager);
  • Добавлен "Origin Trial" для API Generic Sensor, позволяющий получить доступ к акселерометру, гироскопу, датчикам ускорения и ориентации в пространстве;
  • API localStorage и sessionStorage переведены на использование getItem() вместо анонимного геттера. Как следствие, доступ к ключу при помощи getItem() теперь будет приводить к возврату значения "null" вместо "undefined". Для удобства работа методы getItem(), removeItem() и clear() переведены а категорию перечисляемых (enumerable);
  • В Chrome для Android добавлена поддержка CSS-свойства "display: minimal-ui", что позволяет создавать интерфейсы, похожие на обособленные приложения, но с минимальным числом элементов управления навигацией;
  • Предложена очередная порция оптимизаций производительности в движке V8, в том числе на 14% ускорена работа парсера, существенно ускорена работа встроенных строковых функций, таких как String#trim, улучшена производительность Object.is(). Общие результаты измерения производительности при прохождении различных текстов представлены на нижеприведённом графике: 0_1512639090.png
  • Для улучшения совместимости с другими браузерами HTMLAllCollection, HTMLCollection, HTMLFormControlsCollection и HTMLOptionsCollection перестали быть перечисляемыми, т.е. для них теперь требуется явный вызов Object.keys() или перебор в цикле. Удалён специфичный для WebKit метод getMatchedCSSRules(). В CSS прекращена поддержка селекторов "::shadow" и "/deep/".
Кроме нововведений и исправления ошибок в новой версии устранено 37 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 19 премий на сумму более 46 тысяч долларов США (одна премия $10500, одна премия $6337, три премии $5000, по одной премии в $3500, $3337, $2500 и $2000, две премии $1000 и три премии $500). Размер пяти вознаграждений пока не определён.

Одной из проблем присвоен критический уровень опасности - в реализации протоколаQUIC (Quick UDP Internet Connections) выявлено переполнение буфера (CVE-2017-15407), которое позволяет обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения. Примечательно, что прошлая критическаая уязвимость в QUIC была исправлена месяц назад. Из уязвимостей, которым присвоена высокая степень опасности также можно отметить серию проблем в PDF-просмотрщике PDFium (CVE-2017-15408, CVE-2017-15410, CVE-2017-15411), переполнение буфера в графической библиотеке Skia (CVE-2017-15409), обращение к уже освобождённому блоку памяти в libXML (CVE-2017-15412) и уязвимость в WebAssembly (CVE-2017-15413).

Дополнительно можно отметить план блокирования попыток выполнения стороннего кода внутри процессов Chrome. Подобные подстановки наблюдаются на 2/3 систем с Windows и, как правило, производятся антивирусным ПО. По статистике, подобные манипуляции приводят к снижению стабильности работы и являются причиной 15% всех наблюдаемых крахов браузера. Вместо подстановки кода рекомендуется перевести приложения на использование расширений к Chrome и API Native Messaging.

В Chrome 68, который ожидается в июле 2018 года, подстановка кода в процесс будет приводить к блокировке запуска браузера и выводу уведомления с возможностью продолжить работу. В Chrome 72, намеченном на январь 2019 года, блокировка будет применяться на постоянной основе. Исключение будет сделано только для кода, подписанного цифровой подписью Microsoft и систем для людей с ограниченными возможностями.
 
Релиз Google Chrome 64
Компания Google представила релиз web-браузера Chrome 64. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличаетсяиспользованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.
Основные изменения в Chrome 64:
  • В сборках для платформы Linux вывод уведомлений, отправленных через Notifications API или chrome.notifications, теперь производится через штатные механизмы пользовательских окружений (например, уведомления Chrome теперь выводятся как обычные уведомления KDE Plasma и GNOME);
  • Запрещено автоматическое перенаправление на ссылки из внешних iframe-блоков, что позволяет блокировать работу жульнических рекламных вставок, открывающих другие страницы без ведома пользователя. Предложенный способ позволяет бороться со ссылками, закамуфлированными под кнопки воспроизведения или закрытия, или активируемыми через наложение прозрачного слоя, перехватывающего любые клики. Например, будут блокироваться всплывающие предложения, в которых нажатие кнопки закрытия диалога приводит к открытию дополнительных окон или вкладок с рекламируемыми страницами. 0_1516867860.png
  • Прекращено автоматическое воспроизведение видео со звуком на текущей вкладке, если в видеовставке по умолчанию не отключен звук (выставлен флаг mute или отсутствует звуковая дорожка). Для воспроизведения видео со звуком потребуется явный клик. Новое поведение позволит автоматически блокировать показ видеорекламы со звуком, которая создаёт неудобства и отвлекает пользователя при просмотре страниц. Блокировка будет сниматься для сайтов, на которых пользователь часто просматривает мультимедийный контент, которым пользователь предоставил специальные полномочия или которые добавлены на домашний экран в мобильной версии;

  • На 15 февраля намечено включение встроенного блокировщика рекламы, нацеленного на борьбу с рекламными блоками, мешающими восприятию содержимого и не соответствующими критериям, выработанным Коалицией по улучшению рекламы (перекрывающие контент всплывающие окна, реклама со счётчиком секунд до закрытия, отображаемая до загрузки контента, очень большие закреплённые блоки, мигание фона, агрессивное изменение цветов);

  • Помимо представленных в январском обновлении Chrome 63 мерпро предотвращению эксплуатации уязвимостей Meltdown и Spectre (ограничена точность измерения интервалов времени функцией performance.now() и полностью отключена поддержка типа SharedArrayBuffer), в Chrome 64 внесены некоторые дополнительные изменения для противодействия подобным атакам на уровне движка V8. В частности, выполнена защита от обращения к памяти вне границ области, отведённой для WebAssembly и asm.js, а также доступной через массивы и строки JavaScript;
  • Внесена серия оптимизаций в движок V8: Производительность оператора instanceof возросла в 3.6 раза, что привело к увеличению производительности библиотеки uglify-js на 15–20%. Устранены некоторые узкие места с производительностью Function.prototype.bind. WeakMap и WeakSet переписаны на базе CodeStubAssembler, что отразилось пятикратным ростом их производительности. С использованием CodeStubAssembler также переписан Array.prototype.slice, что позволило ускорить его примерно в 4 раза; 0_1516876237.png

    0_1516876735.png
  • Проведена работа по сокращению потребления памяти в движке V8 - при просмотре типичных сайтов расход памяти каждой вкладкой снизился на несколько сотен килобайт. 0_1516876334.png

  • На страницу chrome://gpu добавлены сведения о доступных механизмах аппаратного ускорения декодирования и кодирования видео для различных форматов (h.264, vp8, vp9 и т.п.);

  • Добавлен API Resize Observer, позволяющий подключить обработчик, которому будут направляться уведомления об изменении размера указанных элементов на странице. Ключевое отличие нового API от window.onresize и CSS Media Queries, заключается в том, что можно определить факт изменения конкретного элемента на странице, а не всей видимой области, что позволяет отреагировать изменением только этого элемента без изменения всего видимого содержимого;

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

  • Добавлена возможность создания анимации при помощи CSS-свойства offset-path, определив в данном свойстве геометрический путь по которому должен перемещаться элемент;

  • Добавлено CSS-свойство text-decoration-skip-ink для управления поведением отрисовки в случае если верхнее или нижнее подчеркивание накладывается на глиф в другой строке;

  • Координаты PointerEvent для курсора мыши (pointerType=mouse) теперь передаются в дробном виде, что позволяет определять позицию курсора с большей точностью;

  • В регулярных выражениях появилась поддержка именованных групп (named captures), позволяющий связать сопоставленные регулярным выражением части строки с определёнными именами вместо порядковых номеров совпадений (например, вместо "/(\d{4})-(\d{2})-(\d{2})/" можно указать "/(?‹year›\d{4})-(?‹month›\d{2})-(?‹day›\d{2})/" и получить доступ к году не через result[1], а через result.groups.year);

  • В регулярных выражениях добавлена возможность экранированияклассов Unicode-символов при помощи конструкций \p{…} и \P{…}. Например, \p{Number} определяет все возможные знаки с изображением цифр (включая символы вида ①), \p{Alphabetic} - буквы (в том числе иероглифы), \p{Math} - математические символы и т.п.

  • Добавлен метод Intl.Numberformat.prototype.formatToParts(), позволяющий использовать форматирования с использованием правил текущей локали для строк, выдаваемых функциями форматирования NumberTimeFormat;

  • Для элементов video и audio включена по умолчанию упреждающая загрузка метаданных (вместо попытки загрузки самого ресурса), для соответствия с поведением других браузеров и экономии трафика;

  • Добавлена возможность воспроизведения HDR-видео (профиль HDR VP9 Profile 2 10-bit) на платформе Windows 10 в режиме HDR;

  • Для совместимости со спецификациями HTML браузер теперь возвращает ошибку "NotSupportedError" через DOMException, если для мультимедийного элемента заданы неподдерживаемые требования к пропускной способности (playbackRate), например, отрицательное значение;

  • Добавлен "Origin Trial" для API Media Capabilities, позволяющий получить доступ к статистике о производительности и эффективности потребления энергии во время воспроизведения звука или видео;

  • В объект Request добавлен атрибут cache для управления режимом кэшировани ("default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached"). Для просмотра применяемого режима кэширования можно использовать свойство Request.prototype.cache;

  • Добавлена возможность применения Permissions API для получения информации о подтверждении пользователем доступа к камере и микрофону;

  • В Focus Management API добавлен атрибут preventScroll для установки фокуса на элементе без прокрутки экрана;

  • Для SVG добавлено CSS-свойство transform-box для трансформации и смены позиции преобразованного SVG-элемента;

  • Добавлена экспериментальная (chrome://flags/#enable-experimental-web-platform-features) поддержка API AudioWorklet для низкоуровневой обработки звука через определение собственных AudioNodes.

  • Вызов функции window.alert() теперь не приводит к выводу фоновой вкладки на передний план, вместо этого отображается специальный индикатор, а диалог выводится только после перехода на вкладку из которой было выведено предупреждение.
Кроме нововведений и исправления ошибок в новой версии устранено 53 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 24 премии на сумму 22 тысячи долларов США (по одной премии в $4500, $3000 и $2500, две премии $2000, пять премий $1000, семь премий $500). Размер семи вознаграждений пока не определён.
OpenNews: Выпуск web-браузера Chrome 64
 
Последнее редактирование:
Новое расширение для Chrome предотвращает атаки на основе JavaScript
Команда исследователей создала расширение для браузера Google Chrome, которое может блокировать атаки по сторонним каналам на основе кода JavaScript, позволяющие похитить данные из ОЗУ или ЦП компьютера. В настоящее время расширение, получившее название Chrome Zero,доступнотолько на портале GitHub.
Исследователи создали расширение для перезаписи и защиты функций, свойств и объектов JavaScript, которые часто используются вредоносным ПО, предназначенным для хищения данных ЦП или оперативной памяти.
1521454007237.png

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

После изучения каждого типа атак, исследователи идентифицировали пять основных категорий данных/функций, которые эксплуатируются в ходе атак по сторонним каналам: JS-восстанавливаемые адреса памяти, информация о точном времени, поддержка многопоточности браузера, данные, разделяемые между потоками кода JS, а также данные с датчиков устройства.

Расширение Chrome Zero работает перехватывая код JavaScript, который браузер Chrome выполняет, и переписывает определенные функции, свойства и объекты JavaScript в оболочке, нейтрализуя уязвимости, которые атака по сторонним каналам может попытаться проэксплуатировать.
Как заявили эксперты, несмотря на навязчивое поведение расширения, тесты показали минимальное влияние на производительность. Для его работы использовалось только 1,54% ресурсов, а задержка при загрузке страниц составила от 0,01064 до 0,08908 секунд - в зависимости от количества активированных функций защиты.

Исследователи также заявили, что Chrome Zero может заблокировать 50% уязвимостей нулевого дня в Chrome, обнаруженных с момента выпуска Chrome 49.
Поскольку расширение еще не доступно в интернет-магазине Chrome, пользователи могут установить его следующим образом: загрузить исходный код расширения с репозитория на GitHub, перейти на страницу управления расширениями Chrome (chrome://extensions), включить «Режим разработчика», нажать «Загрузить распакованное расширение» и выбрать папку «/chromezero», содержащую исходный код.
После загрузки и активации расширения пользователи могут выбрать желаемый уровень защиты.
 
Последнее редактирование:
Релиз web-браузера Chrome 67

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

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

  • Упрощён доступ к установленным дополнениям - в боковое меню раздела настройки параметров браузера добавлена отдельная

  • сылка на список дополнений; 0_1527665470.png

  • В качестве эксперимента реализована опция (режим "Refresh" в "chrome://flags#top-chrome-md"), позволяющая оценить новый модернизированный интерфейс пользователя, оформленный в стиле Material Design и оптимизированный для устройств с сенсорными экранами (увеличенные отступы, скруглённое поле адресной строки, новая кнопка "+" для открытия вкладок, изменена расцветка панелей и полей ввода); 0_1527666093.png
  • Добавлена функция записи всех сохранённых паролей в текстовый файл в формате CSV для последующего импорта в другие менеджеры паролей. Функция доступна в настройках (в меню "Saved Passwords" добавлен пункт "Export passwords..."); 0_1527667107.png
  • Оптимизировано отображение большого числа вкладок - в случае нехватки места на кнопке вместо скрытия пиктограммы сайта и отображения первой буквы заголовка теперь всегда показывается пиктограмма, даже если для её показа необходимо масштабирование; 0_1527667564.png
  • Добавлена экспериментальная возможность (включается при запуске браузера с опцией"--enable-features=EnableCastLocalMedia") по трансляции произвольных звуковых и видео файлов на внешние устройства с поддержкой Google Cast. Для передачи следует выбрать в меню пункт "Cast...", выбрать устройство для передачи ("Cast to") и указать передаваемый файл ("Cast file"); 0_1527666917.png
  • В версии для Android оптимизировано отображение в адресной строке длинных URL и обеспечено автоматическое скрытие типовых частей URL, таких как "https", "http" и "www"; 0_1527665679.png


  • На платформе macOS через контекстное меню предоставлен быстрый доступ к интерфейсу выбрра Emoji; 0_1527665311.png
  • Расширены возможности версии Chrome для iOS: улучшена обработка ссылок на iTunes, предложен новый менеджер загрузок с поддержкой продолжения загрузки в фоне; 0_1527665635.png

  • Реализован API Generic Sensor, позволяющий web-приложениям получить доступ к различным датчикам, имеющимся на мобильном устройстве. В основе нового API лежит класс Sensor, поверх которого реализованы специфичные для разных типов датчиков классы:
    • Accelerometer можно использовать для координации просмотра 3D-видео через перемещение устройства в пространстве;


    • Gyroscope даёт возможность манипулировать положением устройства в играх, наподобие настольного лабиринта;
    • OrientationSensor позволяет оценивать изменение ориентации устройства, комбинируя показания от акселерометра и гироскопа (если в игре лабиринт гироскоп позволяет направлять движение в двумерном пространстве, то OrientationSensor даёт возможность использовать поворот устройства, чтобы повернуть за угол);
    • Motion Sensors - предлагает набор классов для оценки характера и изменения направления движния, в дополнение к акселерометру и гироскопу, позволяет учитывать данные от магнитометра, например, для создания виртуального компаса.

  • Добавлен "Origin Trial" для API WebXR Device, позволяющий получить доступ к компонентам для создания виртуальной и дополненной реальности для унификации работы с различными классами устройств, от стационарных шлемов виртуальной реальности, подобных Oculus Rift, HTC Vive и Windows Mixed Reality, до решений на базе мобильных устройств, таких как Google Daydream View и Samsung Gear VR. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время.

  • Из приложений, в которых может быть применим новый API упоминаются программы для просмотра видео в режиме 360°, системы визуализации трёхмерного пространства, создание виртуальных кинотеатров для презентации видео, проведение экспериментов по созданию 3D-интерфейсов магазинов и галерей;
    0_1527672069.jpg

  • В JavaScript предложен новый числовой тип BitInt, позволяющий хранить целые числа произвольного размера, для которых недостаточно типа Numbers (например, идентификаторы и значения точного времени раньше приходилось хранить в виде строк);

  • В API Credential Management добавлен новый тип учётных данных PublicKeyCredential, который дополнил ранее доступные типы PasswordCredential и FederatedCredential возможностью проведения аутентификации с использованием пары из закрытого и открытого ключа. Из аутентификаторов поддерживается USB-токен U2F/CTAP 1;
  • Прекращена поддержка HTTP-заголовка Public-Key-Pins (ручные привязки пока сохранены), позволяющего сайтам определять привязки открытых ключей с использованием механизма PKP (Public Key Pinning), позволяющего явно определить сертификаты каких удостоверяющих центров допустимо использовать для заданного сайта. Вместо PKP разработчикам сайтов рекомендуется использовать HTTP-заголовок Expect-CT c SCT-параметрами (SignedCertificate Timestamps) для выявления некорректных SSL-сертификатов при помощи системы Certificate Transparency, которая предусматривает возможность отмены ошибочных привязок;

  • В JavaScript-движке V8 продолжено усовершенствование средств для защиты от выполнения не заслуживающего доверия кода и блокирования атак по сторонним каналам, таким как Spectre. В частности, расширена категория пользователей которым для тестирования предлагается режим строгой изоляции сайта, предоставляющий дополнительную защиту от атак благодаря тому, что страницы разных сайтов всегда размещаются в памяти разных процессов, в каждом из которых применяется свой sandbox;
Кроме нововведений и исправления ошибок в новой версии устранены 34 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 24 премии на сумму 32.5 тысячи долларов США (две премии по $5000, по одной премии в $4500, $3000, $1500 и $1000, пять премий $2000 и пять премий $500). Размер 8 вознаграждений пока не определён.
OpenNews: Релиз web-браузера Chrome 67
 
Последнее редактирование:
Компания Googleвыпустиластабильную версию браузера Chrome 67 для Windows, Mac и Linux, в которой исправлены 34 уязвимости, а также добавлена поддержка стандарта WebAuthn, позволяющего авторизоваться на большинстве сайтов без использования пароля.
WebAuthn представляет собой новый стандарт web-аутентификации, который позволяет проходить авторизацию на сайтах, используя уникальные данные, такие как USB-ключи или отпечатки пальцев.

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

Помимо этого, в браузере были исправлены девять серьезных уязвимостей. Наиболее опасной является проблема доступа к памяти за пределами поля (CVE-2018-6130) в Web Real Time Communication (WebRTC). Google также исправила уязвимость переполнения буфера в куче в графической библиотеке с открытым исходным кодом Skia (CVE-2018-6126).
 
Релиз Google Chrome 68

Компания Google представила релиз web-браузера Chrome 68. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.
Основные изменения в Chrome 68:
  • Изменена индикация безопасности соединения - все открытые по HTTP страницы теперь снабжены индикатором, предупреждающим об установке небезопасного соединения. Чтобы избежать отображения индикатора небезопасного соединения владельцам сайтов рекомендовано мигрировать на HTTPS. Возможные подводные камни, с которыми могут столкнуться вебмастеры при миграции, описаны в специально подготовленном руководстве.

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

  • Обеспечена дополнительная защита от открытия рекламных страниц без ведома пользователя. Для противодействия жульническим рекламным блокам, обманным путём перебрасывающим пользователей на другие страницы, в новом выпуске запрещено автоматическое перенаправление на ссылки из внешних iframe-блоков и заблокирован проброс на новый URL на текущей странице при открытии ссылки в новой вкладке (техника tab-under). При подобных пробросах теперь выводится предупреждение, требующее от пользователя подтвердить переход явным кликом;

  • Реализован первый уровень защиты от попыток выполнения стороннего кода внутри процессов Chrome. Подобные подстановки наблюдаются на 2/3 систем с Windows и, как правило, производятся антивирусным ПО. По статистике, подобные манипуляции приводят к снижению стабильности работы и являются причиной 15% всех наблюдаемых крахов браузера. В Chrome 68 подстановка кода в процесс приведёт к блокировке запуска браузера и выводу уведомления с возможностью продолжить работу. В Chrome 72, намеченном на январь 2019 года, блокировка будет применяться на постоянной основе;

  • В полноэкранном режиме добавлена всплывающая кнопка, появляющаяся при подведении курсора к верхнему краю окна. Нажатие на кнопку инициирует выход из полноэкранного режима, что решает проблему с управлением на устройствах без клавиатуры;
  • Добавлена экспериментальная опция (chrome://flags/#omnibox-rich-entity-suggestions) для показа изображений и сопутствующих пояснений в списке рекомендаций, который показывается в процессе набора в адресной строке; 0_1532499509.png

  • Добавлен Page Lifecycle API для обработки событий, связанных с жизненным циклом страницы. API позволяет разработчику распознать ситуации, когда выполнение web-приложения в фоновой вкладке замораживается из-за нехватки ресурсов, установив обработчики событий freeze и resume. В случае когда замороженная страница вытеснятся из памяти дополнительно устанавливается свойство document.wasDiscarded, которое позволяет разработчику восстановить состояние страницы после её перезагрузки при возвращении пользователя к замороженной вкладке (состояние может быть сохранено в IndexedDB при обработке события freeze). Для симуляции заморозки можно использовать спецстраницу chrome://discards; 0_1532502581.png
  • Изменено поведение при добавлении на домашний экран приложений, работающих в режиме Progressive Web Apps (PWA, позволяет организовать работу с web-приложением, как с обособленной программой). В новой версии добавлены средства для более тонкого управления тем, когда и как выводится диалог с предложением добавить программу на домашний экран. Вместо автоматического вывода подобного диалога браузер теперь генерирует событие beforeinstallprompt, позволяющее разработчику реализовать альтернативный элемент интерфейса для информирования пользователя о возможности установки приложения. Когда пользователь кликнет на этом элементе, разработчик может вызвать функцию prompt(), передав в неё сохранённое событие beforeinstallprompt, для показа модального диалога только после явного желания пользователя установить программу на домашний
  • экран.
  • 0_1532500470.png
    В качестве временного решения для сглаживания процесса адаптации нового поведения, при первом открытии сайта приложения будет выводиться мини-подсказка о возможности установки на домашний экран. При отклонении предложение подсказка в следующий раз будет показана только через 3 месяца;
    0_1532501228.png
  • Добавлен Payment Handler API, позволяющий стандартизировать приём платежей. Новый API расширяет возможности API Payment Request и упрощает интеграцию с существующими платёжными системами, делая их добавление таким же простым, как добавление параметра в свойство supportedMethods. Разработчику достаточно лишь выбрать метод платежа, а все сопутствующие формы будут предоставлены браузером;

  • Реализован формат CSS-свойства overflow с двумя значениями. Если указаны два значения, то первое из них трактуется как overflow-x, а второе как overflow-y. Например, "overflow: hidden auto;" эквивалентно "overflow-x: hidden; overflow-y: auto";

  • Прекращена поддержка формата CSS-свойств position, object-position и perspective-origin с тремя значениями (горизонтальная позиция, вертикальная и масштаб), например, "position: top right 20%". Для данных свойств теперь допустимы только форматы с одним, двумя и четырьмя значениями;

  • В CSS для экранов с высокой плотностью пикселей добавлена новая размерность 'x', которая эквивалентна 'dppx' (dot per pixel);

  • CSS-свойство cursor избавлено от специфичного для Chrome префикса значения "grab" и "grabbing";

  • Добавлен метод customElements.upgrade(), позволяющий запустить конструктор для элементов customElements не дожидаясь активации элемента (например, при создании элемента в блоке innerHTML, не присоединённом к документу);

  • HTTP кеш теперь по умолчанию игнорируется при обновлении кода Service worker, что соответствует поведению других браузеров. Для обновления с учётом кэша предложено свойство ServiceWorkerRegistration.updateViaCache. Кроме того, для запросов через importScripts по-прежнему код скриптов загружается с учётом кэша;

  • Прекращена поддержка метода document.createTouch(), нестандартных атрибутов Document.selectedStylesheetSet и Document.preferredStylesheetSet, а также формата текстур WEBGL_compressed_texture_atc (почти не используются на практике);

  • Web API предоставляет возможность назначения обработчиков для системных спецклавиш (например, Esc и Alt-Tab) в полноэкранном режиме. Пользователь теперь может отменить действие таких обработчиков через удерживание Esc в течение двух секунд;

  • В API Gamepad добавлена поддержка систем Haptic Vibration с обратной связью. Метод Gamepad.timestamp переведён на использование DOMHighResTimeStamp и теперь поддерживает интервалы времени с микросекундной точностью;
  • Проведена работа по снижению потребления памяти движком V8 на сайтах, содержащих больше число JavaScript-функций. На 25% сокращён размер структур SharedFunctionInfo, которые занимают 2-6% памяти на обычных веб-сайтах. Дополнительно примерно на 3% снижено общее потребление памяти движком на мобильных устройствах.

  • Добавлены оптимизации производительности для кода деструктуризации массивов, вызовов Object.assign (ускорение на 15% в тесте React-Redux) и TypedArray.prototype.sort (ускорение до 2.5 раз). Общая производительность браузера в тексте Speedometer2 возросла приблизительно на 1.5%;

    0_1532508693.png

  • Обеспечена интеграция с центром уведомлений Windows 10 (Action Center). Например, в случае включения вывода уведомлений на хранителе экрана, в момент блокировки экрана также будут выводиться уведомления от Chrome;

  • Для Windows и Chrome OS в контекстное меню добавлена кнопка для быстрого вызова интерфейса ввода Emoji.

  • В инструментах для web-разработчиков улучшены средства автодополнения ввода, предпросмотра результатов вычислений в web-консоли и вывода подсказок об аргументах вводимых функций. При включении режима Eager Evaluation в консоли также теперь показывается список свойств и функций, доступных для набранного метода. 0_1532507230.png 0_1532507057.png
  • Интегрирована новая версия системы аудита web-приложений Lighthouse 3.0, в которой представлен новый движок, переработан интерфейс пользователя и предложены новые сценарии аудита

  • Кроме нововведений и исправления ошибок в новой версии устранены 42 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 28 премий на сумму 21 тысяча долларов США (по одной премии в $5000 и $3000, две премии $2000, три премии $1000 и пятнадцать премий $500). Размер 10 вознаграждений пока не определён.
  • OpenNews: Релиз web-браузера Chrome 68
 
Последнее редактирование:
Назад
Сверху Снизу