Реліз Chrome 77

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

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

  • Припинено окрема позначка сайтів із сертифікатами рівня EV (Extended Validation). Інформація про застосування EV-сертифікатів тепер відображається лише у випадаючому меню, що відображається при натисканні на піктограму захищеного з'єднання. Назва перевіреної центром компанії, до якої прив'язаний EV-сертифікат, в адресному рядку більше відображатися не буде;
  • Посилено ізоляцію обробників сайтів. Додано захист для міжсайтових даних, таких як Cookie та HTTP-ресурси, що отримуються зі сторонніх сайтів, контрольованих зловмисниками. Ізоляція працює навіть якщо атакуючий виявить помилку в процесі, що відповідає за малювання, та спробує виконати код у його контексті;
  • Додана нова сторінка з привітанням нових користувачів (chrome://welcome/), що виводиться замість штатного інтерфейсу відкриття нової вкладки після першого запуску Chrome. Сторінка дозволяє додати в закладки популярні сервіси Google (GMail, YouTube, Maps, News та Translate), прикріпити ярлики на сторінку нової вкладки, підключитися до облікового запису Google для увімкнення Chrome Sync та призначити виклик Chrome за умовчанням у системі.
  • У меню сторінки нової вкладки, що відображається у верхньому правому кутку, додано можливість завантаження фонового зображення, а також з'явилися опції для вибору теми оформлення та налаштування блоку з ярликами для швидкого переходу (найчастіше відвідувані сайти, ручний вибір користувача та приховування блоків з ярликами). Налаштування поки що позиціонуються як експериментальні та вимагають активації через прапори «chrome://flags/#ntp-customization-menu-v2» та «chrome://flags/#chrome-colors-custom-color-picker»;
  • Забезпечено анімацію піктограми сайту в заголовку вкладки, що сигналізує про те, що сторінка знаходиться в процесі завантаження;
  • Доданий прапор «—guest», що дозволяє запустити Chrome із командного рядка в режимі гостьового входу (без підключення до облікового запису Google, без запису активності в браузері на диск та без збереження сеансу);
  • Продовжено розпочате у минулому випуску чищення прапорів у chrome://flags. Замість прапорів для налаштування поведінки браузера рекомендується використовувати набори правил;
  • У контекстному меню сторінки, вкладки та адресного рядка додана кнопка «Send to your devices», яка дозволяє надіслати посилання на інший пристрій за допомогою Chrome Sync. Після вибору пристрою призначення, прив'язаного до того ж облікового запису, та надсилання посилання, на цільовому пристрої буде виведено повідомлення для відкриття посилання;
  • У версії для Android повністю перероблена сторінка зі списком завантажених файлів, в якій замість меню з розділами контенту додані кнопки для фільтрації загального списку за типом контенту, а ескізи завантажених зображень тепер показуються на всю ширину екрана;
  • Додані нові метрики для оцінки швидкості завантаження та відтворення контенту в браузері, що дозволяють веб-розробнику визначити як швидко основний вміст сторінки стає доступним для користувача. Запропоновані раніше засоби контролю малювання дозволяли судити лише про факт початку відмальовування, але не про готовність сторінки в цілому. У Chrome 77 запропоновано новий API Найбільша змістовна фарбадозволяє дізнатися час відображення великих (помітних користувачеві) елементів у видимій області, таких як зображення, відео, блокові елементи і фон сторінки;
    Реліз Chrome 77

  • Доданий API PerformanceEventTiming, що надає інформацію про затримку перед першою взаємодією користувача (наприклад, натискання клавіші на клавіатурі або миші, клік або переміщення вказівника). Новий API є підмножиною API EventTiming, що дозволяє отримати додаткові відомості для виміру та оптимізації чуйності інтерфейсу;
  • Додані нові можливості для форм, що спрощують використання власних нестандартних елементів керування формами (нестандартні поля введення, кнопки тощо). Нова подія «formdata» дає можливість використовувати обробники JavaScript для додавання даних у форму на етапі її відправки без необхідності зберігати дані в прихованих елементах input.

    Другим нововведенням є підтримка створення власних елементів, асоційованих з формою та діючих як вбудовані елементи управління формами, у тому числі таких, що підтримують такі можливості, як включення перевірки коректності введення та ініціювання відправлення даних на сервер. Для позначення елемента як компонента інтерфейсу форми запропоновано властивість формисумісної, а для доступу до додаткових методів управління формою, таким як setFormValue() і setValidity(), додано виклик attachInternals();

  • В режимі Випробування походження (експериментальні можливості, що потребують окремої активації) додано новий API Вибір контактів, що дозволяє користувачеві вибрати записи з адресної книги та передати певні деталі про них на сайт. При запиті визначається перелік властивостей, які потрібно отримати (наприклад, ПІБ, email, номер телефону). Дані властивості явно відображаються користувачеві, який приймає кінцеве рішення надсилати дані чи ні. API може бути використаний, наприклад, у поштовому веб-клієнті для вибору одержувачів для надісланого листа, у веб-додатку з функцією VoIP для ініціювання дзвінка за певним номером або в соціальній мережі для пошуку вже зареєстрованих друзів.

    Origin Trial має на увазі можливість роботи із зазначеним API з додатків, завантажених з localhost або 127.0.0.1, або після проходження реєстрації та отримання спеціального токена, який діє обмежений час для конкретного сайту.

    Реліз Chrome 77Реліз Chrome 77

  • Для форм реалізовано атрибут «enterkeyhint«, що дозволяє визначити поведінку при натисканні Enter на віртуальній клавіатурі. Атрибут може приймати значення enter, done, go, next, previous, search та send;
  • Додано правило document-domain, що керує доступом до властивості "document.domain". За промовчанням доступ дозволено, але якщо його заборонити спроба зміни значення «document.domain» призводитиме до виведення помилки;
  • В API Performance додано виклик LayoutShift, що дозволяє відстежувати зміну позиції елементів DOM на екрані.
  • Розмір HTTP-заголовка "Referer" обмежений 4 КБ, при перевищенні даного значення вміст урізається до імені домену;
  • Аргумент url у функції registerProtocolHandler() обмежений застосуванням лише схем http:// і https:// і тепер не допускає схеми «data:» та «blob:».
  • У метод Intl.NumberFormat додано підтримку форматування одиниць виміру, валют, наукових та компактних позначень (наприклад, «Intl.NumberFormat('en', {style: 'unit',
    unit: 'meter-per-second'}»);

  • Додані нові CSS-властивості overscroll-behavior-inline та overscroll-behavior-block для управління поведінкою прокручуванням при досягненні логічного кордону області прокручування;
  • Для CSS-властивості white-space реалізована підтримка значення break-spaces;
  • У Service Workers додано підтримка аутентифікації HTTP Basic та виведення штатного діалогу для введення параметрів входу;
  • API Web MIDI тепер може застосовуватися лише у контексті безпечного з'єднання (https, локальний файл чи localhost);
  • Оголошено застарілим API WebVR 1.1, на зміну якому прийшов API WebXR Device, що дозволяє отримати доступ до компонентів для створення віртуальної та доповненої реальності та уніфікувати роботу з різними класами пристроїв, від стаціонарних шоломів віртуальної реальності до рішень на базі мобільних пристроїв.
  • В інструментах для розробників додано можливість копіювання до буфера обміну CSS-властивостей вузла DOM через контекстне меню, що викликається правим кліком на вузлі в дереві DOM. Додано інтерфейс (Show Rendering/ Layout Shift Regions) для відстеження зсувів розмітки через відсутність заглушок під рекламу та зображення (коли під час перегляду завантаження чергового зображення зсуває текст вниз). Панель аудиту оновлена ​​до випуску Маяк 5.1. Забезпечено автоматичне перемикання на темну тему оформлення DevTools під час використання темної теми в ОС. У режимі інспектування мережі додано ознаку завантаження ресурсу з кешу запобіжного завантаження (prefetch cache). У панелі Application додано підтримку відображення push-повідомлень та повідомлень. У web-консолі при перегляді об'єктів тепер відображаються приватні поля класів;

    Реліз Chrome 77

  • У JavaScript-движку V8 оптимізовано зберігання статистики про типи операндів, відданих різні операції (дозволяє оптимізувати виконання даних операцій з урахуванням конкретних типів). Щоб скоротити споживання пам'яті, вектори для обліку типів тепер розміщуються в пам'яті тільки після виконання певного обсягу байткоду, що виключає застосування оптимізації для функцій з коротким часом життя. Вказана зміна дозволяє заощадити 1–2% пам'яті у версії для настільних систем та 5–6% для мобільних пристроїв.

    Реліз Chrome 77

    Покращена масштабованість фонової компіляції WebAssembly — що більше процесорних ядер у системі, то більше виграш від доданих оптимізації. Наприклад, на 24-ядерному комп'ютері з процесором Xeon час компіляції демонстраційної програми Epic ZenGarden скоротився вдвічі.

    Реліз Chrome 77

Окрім нововведень та виправлення помилок у новій версії усунено 52 вразливості. Багато вразливостей виявлено в результаті автоматизованого тестування інструментами Адреса Sanitizer, MemorySanitizer, Цілісність потоку керування, LibFuzzer и AFL. Одна проблема (CVE-2019-5870) позначена як критична, тобто. дозволяє обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення. Деталі про критичну вразливість поки що не розголошуються, відомо тільки що вона може призвести до звернення до звільненої області пам'яті в коді обробки мультимедійних даних. У рамках програми з виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 38 премій на суму 33500 доларів США (одна премія $7500, чотири премії $3000, три премії $2000, чотири премії $1000 та вісім премій $500). Розмір 18 винагород поки не визначений.

Джерело: opennet.ru

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