Реліз Chrome 75

компанія Google представила реліз web-браузера Chrome 75. Одночасно доступний стабільний випуск вільного проекту Хром, що є основою Chrome. Браузер Chrome відрізняється використанням логотипів Google, можливістю завантаження модуля Flash на запит, наявністю системи відправлення повідомлень у разі краху, модулями для відтворення захищеного відеоконтенту (DRM), системою автоматичної установки оновлень та передачею при пошуку RLZ-параметрів. Наступний випуск Chrome 76 заплановано на 30 липня.

Основні зміни в Chrome 75:

  • метод canvas.getContext() доданий прапор "desynchronized" для обробки контекстів Canvas (2D або WebGL) з використанням альтернативної системи відтворення, що забезпечує мінімальні затримки за рахунок обходу штатного механізму оновлення DOM та виведення безпосередньо через OpenGL;
  • Розширений API Web Share (Об'єкт navigator.share), за допомогою якого можна замість списку окремих кнопок згенерувати уніфіковану кнопку для публікації в соціальних мережах, актуальних для відвідувача. У новому випуску в API додано можливість виведення типового діалогу для надсилання файлів іншим програмам (наприклад, на Android виводиться блок для надсилання через пошту, Bluetooth тощо);
  • Реалізовано можливість поділу груп чисел у цифрових літералах символом підкреслення. Наприклад, для поліпшення читання великих чисел у коді можна вказувати 1_000_000_000 і це число буде оброблено як 1000000000;
  • Для всіх користувачів настільної версії включено за замовчуванням режим суворої ізоляції сайтів, при якому сторінки різних хостів завжди розміщуються у пам'яті різних процесів, у кожному з яких застосовується свій sandbox. Головною особливістю режиму суворої ізоляції є поділ за вкладками, а, по доменам, тобто. якщо раніше вміст завантажених з інших доменів скриптів, iframe та popup-ів виконувався в одному процесі з базовим сайтом, то тепер вони будуть розділені за різними процесами;
  • Додатки, занесені до чорного списку, тепер будуть повністю видалятися, а не відключатися з переведенням у неактивний режим.
  • У вбудованому менеджері задач Chrome (Settings > More Tools > Task Manager) забезпечено відображення обробників Service worker;
  • До методу window.open() додано атрибут «noreferrer«, що дозволяє відкрити сторінку без заповнення заголовка Referer;
  • Додані директиви CSP (Content Security Policy) script-src-attr, script-src-elem, style-src-attr і style-src-elem, що надають функціональність директив script і style, але з можливістю застосування до окремих оброблювачам подій, елементам чи атрибутам;
  • У Web Authentication API додано підтримка FIDO CTAP2 PIN для використання заданого користувачам PIN-коду для авторизації виконання операцій до ключів, що підтримують протокол FIDO CTAP2. У конфігураторі в секції Advanced з'явився пункт Manage security keys, в якому можна призначити PIN-код для захисту ключів, розміщених на USB-накопичувачі, а також опція для скидання ключа (очищення всіх даних і PIN);
  • В API Web Animations додані об'єкти
    AnimationEffect і KeyframeEffect, що дозволяють інтерактивно керувати анімованими елементами та хронометражем (тривалість, затримки).
    Крім того, додано новий конструктор Animation(), що надає більші засоби для управління анімацією. Раніше Web Animations API дозволяв створювати анімацію за допомогою методу Element.animate(), який повертає вже сформований об'єкт Animation. Тепер розробник може управляти його створенням через явний виклик конструктора, у якому, наприклад, можна вказати об'єкт KeyframeEffect;

  • Додана опція HTMLVideoElement.playsInline, що пропонує браузеру відобразити відео в області відтворення елемента (наприклад, для надання методу відтворення на весь екран);
  • У методі MediaStreamTrack.getCapabilities() реалізована можливість отримання діапазону допустимих значень для властивостей, пов'язаних зі звуковими пристроями (частота дискретизації, затримки, число каналів тощо);
  • У WebRTC додано API RTCDtlsTransport для отримання відомостей про активні транспорти, наприклад про використання SCTP або DTLS (Datagram Transport Layer Security), через які надсилаються або приймаються пакети RTP та RTCP. Також додано інтерфейс RTCIceTransport для надання інформації про стан транспорту
    ICE, що використовуються в об'єкті RTCPeerConnection;

  • У заголовку Cache-Control реалізовано директиву «stale-while-revalidate«, що дозволяє задати додаткове вікно часу, протягом якого браузер може використовувати ресурс із простроченим часом асинхронної перевірки актуальності;
  • Додана можливість Scroll Snap Stop для визначення прив'язки до елементів при інерційному прокручуванні (наприклад, широкий аркуш жест при виборі в списку зображень буде приводити до вибору не останнього елемента, а наступного);
  • У версії для Android покращено інтерфейс автозаповнення параметрів облікових записів у формах автентифікації. Блок з підказкою тепер виводиться безпосередньо над екранною клавіатурою і при натисканні відображає можливі збережені варіанти замість екранної клавіатури, не закриваючи собою форму введення;
  • Додана експериментальна підтримка режиму читача (Reader Mode), при включенні якого відображається лише значущий текст, а всі супутні елементи управління, банери, меню, навігаційні панелі та інші не пов'язані з контентом частини сторінки ховаються. Увімкнення підтримки нового режиму здійснюється опцією chrome://flags/#enable-reader-mode, після чого у меню, що випадає, з'являється пункт для його використання;
  • У JavaScript-движку V8 реалізовано режим явного кешування результатів компіляції WebAssembly (при повторному відкритті сторінки раніше оброблені компоненти WebAssembly буде запущено з кешу). У
    WebAssembly також додані нові інструкції memory.copy, memory.fill, table.copy, memory.init та table.init для копіювання, заповнення та ініціалізації великих областей пам'яті;

  • Додано підтримку прямого аналізу скриптів на льоту в міру їх завантаження по мережі без залучення основного потоку Chrome. Раніше потік спочатку приймався в main thread, з якого перенаправлявся парсер. Подібна організація призводила до того, що перенаправлення могло блокуватися іншими завданнями, що виконуються в основному потоці, такими як розбір HTML та інших скриптів JavaScript. Тепер такий перенапрямок скасовано;
  • Поліпшення інструментів для web-розробників:
    • У режимі інспектування CSS забезпечено автодоповнення назв та базових значень функцій, які можна використовувати у властивостях CSS (наприклад, «filter: blur(1px)»). Пропоновані значення відразу відображаються на макеті сторінки, що переглядається;
      Реліз Chrome 75

    • У командній панелі, що виводиться при натисканні Ctrl+Shift+P, реалізована команда Clear Site Data для очищення всіх даних, пов'язаних зі сторінкою (аналог виклику меню Application > Clear Storage ), включаючи Service workers, localStorage, sessionStorage, IndexedDB, Web SQL , Cookies, Cache та Application Cache;
    • Додано можливість перегляду всіх існуючих БД IndexedDB (раніше в Application > IndexedDB можна було переглянути БД для поточного домену, що не дозволяло, наприклад, проінспектувати використання IndexedDB у блоках, що завантажуються через iframe);

      Реліз Chrome 75

    • В інтерфейсі інспектування мережі в підказці, що спливає при наведенні на поля в стовпці Size, тепер відображається розмір ресурсу у вихідному вигляді, без стиснення;

      Реліз Chrome 75

    • У бічній панелі відладчика забезпечений роздільний висновок відомостей про стан точок зупинки, прив'язаних до окремих частин складних виразів у рядку (inline breakpoint), наприклад, виставлених у ланцюжку виклику методів;

      Реліз Chrome 75

    • У панелях інспектування IndexedDB та Cache реалізовано відображення лічильників загальної кількості ресурсів у БД чи кеші;
      Реліз Chrome 75

  • В експериментальні Canary-складання додано підтримка
    звернення до DNS поверх HTTPS (DoH, DNS over HTTPS), яку можна активувати у chrome://flags#dns-over-https. DoH може виявитися корисним для виключення витоків відомостей про запитовані імена хостів через DNS-сервери провайдерів, боротьби з MITM-атаками та заміною DNS-трафіку, протистояння блокуванням на рівні DNS або для організації роботи у разі неможливості прямого звернення до DNS-серверів (наприклад, під час роботи через проксі);

Окрім нововведень та виправлення помилок у новій версії усунено 42 вразливості. Багато вразливостей виявлено в результаті автоматизованого тестування інструментами Адреса Sanitizer, MemorySanitizer, Цілісність потоку керування, LibFuzzer и AFL. Критичних проблем, які дозволяють обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення, не виявлено. У рамках програми з виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 13 премій на суму 9000 доларів США (одна премія $5000, дві премії $1000 і чотири премії $500). Розмір 7 винагород поки не визначений.

Джерело: opennet.ru

Додати коментар або відгук