+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Google представила реліз web-браузера Chrome 76

Google представила реліз web-браузера Chrome 76

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

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

  • Активовано за умовчанням режим захисту від передачі сторонніх Cookie, який у разі відсутності атрибуту SameSite у заголовку Set-Cookie за умовчанням виставляє значення "SameSite=Lax", що обмежує надсилання Cookie для вставок зі сторонніх сайтів (але сайти, як і раніше, зможуть скасувати обмеження, явно виставляючи при установці Cookie значення SameSite=None). До цього часу браузер передавав Cookie на будь-який запит до сайту, для якого є виставлені Cookie, навіть якщо спочатку відкритий інший сайт, а звернення здійснюється опосередковано за допомогою завантаження картинки або через iframe. У режимі 'Lax' передача Cookie блокується тільки для міжсайтових субзапитів, таких як запит зображення або завантаження контенту через iframe, які часто використовуються для організації CSRF-атак та для відстеження переміщень користувача між сайтами.
  • Припинено відтворення Flash-контенту за промовчанням. До випуску Chrome 87, який очікується в грудні 2020 року, підтримку Flash можна буде повернути в налаштуваннях (Advanced > Privacy and Security > Site Settings) з наступним явним підтвердженням операції відтворення Flash-контенту для кожного сайту (підтвердження запам'ятовується до перезапуску браузера). Повне видалення коду для забезпечення підтримки Flash синхронізовано з раніше озвученим компанією Adobe планом припинення супроводу технології Flash у 2020 році;
  • Для підприємств в адресний рядок додано можливість пошуку файлів у сховищі Google Drive;
  • Почалося масове блокування в Chrome неприйнятної реклами, що заважає сприйняттю вмісту та не відповідає критеріям, виробленим Коаліцією щодо покращення реклами;
  • Реалізовано адаптивний режим перемикання на нову сторінку, при якому очищення поточного вмісту та відображення білого фону здійснюється не відразу, а через невелику затримку. Для сторінок, що швидко завантажуються, очищення призводить лише до мерехтіння і не несе корисного навантаження, покликаного інформувати користувача про початок завантаження нової сторінки. У новому випуску якщо сторінка відкривається швидко і вкладається в невелику затримку, то нова сторінка відображається за місцем, безшовно замінюючи попередню (наприклад, зручно при переході на близькі за оформленням та колірною гамою інші сторінки того ж сайту). Якщо для відображення сторінки потрібен якийсь помітний користувачеві час, то, як і раніше, екран буде попередньо очищений;
  • Покращені критерії визначення активності користувача на сторінці. Chrome дозволяє виводити спливаючі повідомлення та відтворювати настирливий відео/аудіо контент лише після дій користувача зі сторінкою. У новому випуску натискання Escape, наведення курсору на посилання і торкання екрана більше не сприймаються як взаємодія, що активують сторінку (потрібний явний клік, введення тексту або прокручування);
  • Додано медіа-запит "prefers-color-scheme", що дозволяє сайтам визначити застосування в браузері темної теми оформлення і автоматично включити темне оформлення для сайту, що переглядається.
  • При включенні темної теми оформлення в збірках для Linux, темним кольором тепер відображається адресний рядок;
  • Блокована можливість визначення відкриття сторінки в режимі інкогніто через маніпуляції з FileSystem API, яка раніше використовувалася деякими виданнями для нав'язування платної підписки у разі знеособленого відкриття сторінок без запам'ятовування Cookie (щоб користувачі не використовували приватного режиму для обходу механізму надання. Раніше при роботі в режимі інкогніто браузер блокував доступ до FileSystem API для запобігання осіданню даних між сеансами, що дозволяло з JavaScript перевірити можливість збереження даних через FileSystem API та у разі збою судити про активність режиму інкогніто. Тепер доступ до FileSystem API не блокується, а вміст очищається після завершення сеансу;
  • Додано нові виклики в API Payment Request та Payment Handler. В об'єкті PaymentRequestEvent з'явився новий метод changePaymentMethod(), а в об'єкт PaymentRequest доданий новий обробник події paymentmethodchange, які дозволяють збираючому платежу майданчику або web-додатку, відреагувати на зміну користувачем методу проведення платежу. У новому випуску пов'язаних з платежами API також спрощено тестування додатків із використанням самопідписаних сертифікатів. Для ігнорування помилок перевірки сертифікатів у процесі розробки додано нову опцію командного рядка "--ignore-certificate-errors";
  • В адресний рядок поруч із кнопкою для додавання в закладки для web-додатків, що працюють в режимі Desktop Progressive Web Apps (PWA), доданий ярлик для встановлення web-додатку в систему для роботи як з відокремленою програмою;
  • Для мобільних пристроїв надано можливість керувати виведенням міні-панелі із запрошенням по додаванню програми на домашній екран. Для PWA-програм (Progressive Web App) міні-панель за замовчуванням автоматично показується при першому відкритті сайту. Розробник тепер може відмовитися від виведення даної панелі та реалізувати власне запрошення до установки, для чого можна встановити обробник події передпочатком installprompt і прив'язати до нього виклик preventDefault();
  • Збільшено частоту перевірки оновлення для встановлених в оточенні Android PWA-програм (Progressive Web App). Оновлення WebAPK тепер перевіряються щодня, а не раз на три дні як раніше. Якщо у маніфесті при такій перевірці буде виявлено зміну хоч однієї ключової властивості, браузер завантажить та встановить новий WebAPK;
  • В API Async Clipboard додана можливість програмного читання та запису зображень через буфер обміну, використовуючи методи navigator.clipboard.read() та navigator.clipboard.write();
  • Реалізована підтримка групи HTTP-заголовків Fetch Metadata (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site та Sec-Fetch-User), що дозволяють відправити додаткові метадані про характер запиту (міжсайтовий запит, запит через тег img і т.п.) для вжиття на сервері заходів для захисту від деяких типів атак (наприклад, малоймовірно, що посилання на обробник для переказу грошей буде задане через тег img, тому такі запити можна блокувати без передачі додатку);
  • Додано функцію form.requestSubmit(), яка ініціює програмне відправлення даних форми за аналогією з кліком на кнопку відправлення даних. Функція може застосовуватися при розробці власних кнопок відправки форми, для яких виклику form.submit() недостатньо через те, що він не призводить до інтерактивної перевірки параметрів, генерації події 'submit' та передачі прив'язаних до кнопки надсилання даних;
  • У IndexedDB додано функцію commit(), яка дозволяє фіксувати транзакції, пов'язані з об'єктом IDBTransaction, не чекаючи завершення обробників подій у всіх пов'язаних запитах. Використання commit() дозволяє збільшити пропускну здатність запитів на запис та читання у сховищі та явно контролювати завершення транзакції;
  • У функції Intl.DateTimeFormat, такі як formatToParts() і resolveOptions(), додані опції dateStyle та timeStyle, що дозволяють запросити специфічні для локалі стилі відображення дати та часу;
  • Метод BigInt.prototype.toLocaleString() змінено для форматування чисел з урахуванням локалі, а метод Intl.NumberFormat.prototype.format() та функція formatToParts() адаптовані для підтримки вхідних значень з типом BigInt;
  • Дозволено використання API Media Capabilities в усіх типах Web Worker-ів, що може бути використане для вибору оптимальних параметрів при створенні MediaStream з worker-а;
  • Додано метод Promise.allSettled(), який повертає тільки вже виконання або відхилені promise, не враховуючи promise, що очікують виконання;
  • Видалено опцію "--disable-infobars", яка раніше могла застосовуватися для приховання спливаючих попереджень в інтерфейсі Chrome (для приховування пов'язаних з безпекою попереджень запропоновано правило CommandLineFlagSecurityWarningsEnabled);
  • В інтерфейс для роботи з блобами додані методи text(), arrayBuffer() і stream() для читання певних типів даних;
  • Додано CSS-властивість "white-space:break-spaces", що визначає, що будь-яка послідовність пробілів, що призводить до переповнення рядка, повинна бути розірвана;
  • Почалася робота з чищення прапорів у chrome://flags, наприклад, віддалений прапор для відключення атрибуту "ping", що дозволяє власникам сайтів відстежувати переходи за посиланнями з їхніх сторінок. У разі переходу за посиланням при наявності в тегу "a href" атрибуту "ping=URL" у браузері тепер не можна відключити відправлення додаткового POST-запиту до вказаного в атрибуті URL з відомостями про перехід, що відбувся. Сенс блокування ping втрачається так як даний атрибут визначений у специфікаціях HTML5 і існує безліч обхідних методів для здійснення тієї ж дії (наприклад, прокидання через транзитне посилання або перехоплення кліків обробниками JavaScript);
  • Прибрано прапор для відключення режиму суворої ізоляції сайтів, при якому сторінки різних хостів завжди розміщуються в пам'яті різних процесів, у кожному з яких застосовується свій sandbox.
  • У двигуні V8 істотно збільшена продуктивність сканування та парсингу формату JSON. Для популярних веб-сторінок відзначається прискорення виконання JSON.parse до 2,7 разів. Значно прискорено перетворення unicode-рядків, наприклад швидкість роботи викликів String#localeCompare, String#normalize, а також деяких API Intl, зросла майже вдвічі. Також суттєво оптимізована продуктивність операцій із замороженими масивами при використанні операцій, подібних до frozen.indexOf(v), frozen.includes(v), fn(...frozen), fn(...[...frozen]) і fn. apply(this, [... frozen]).

Крім нововведень та виправлення помилок у новій версії усунено 43 вразливості. Багато з вразливостей виявлено в результаті автоматизованого тестування інструментами Address Sanitizer, Memory Sanitizer, Control Flow Integrity, LibFuzzer і AFL. Критичних проблем, які дозволяють обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення, не виявлено. У рамках програми з виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 16 премій на суму 23500 доларів США (одна премія $10000, одна премія $6000, дві премії $3000 і три премії $500). Розмір 9 винагород поки не визначений.

 

Інші новини