Реліз Chrome 99

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

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

  • У Chrome для Android включено використання механізму Certificate Transparency, що забезпечує ведення незалежного публічного лога всіх виданих та відкликаних сертифікатів. Публічний лог дає можливість проводити незалежний аудит всіх змін і дій центрів, що засвідчують, і дозволить відразу відстежувати будь-які спроби прихованого створення підроблених записів. Сертифікати, які не відображені в Certificate Transparency, будуть автоматично відкинуті браузером з відображенням відповідної помилки. Раніше вказаний механізм був увімкнений тільки для настільної версії та для невеликого відсотка користувачів Android.
  • Через наявність великої кількості скарг відключено раніше запропонований у тестовому режимі механізм Private Network Access, націлений на посилення захисту від атак, пов'язаних із зверненням до ресурсів у локальній мережі або на комп'ютері користувача (localhost) із скриптів, що завантажуються під час відкриття сайту. Для захисту від подібних атак у разі звернення до будь-яких субресурсів у внутрішній мережі, запропоновано надсилати явний запит на повноваження завантаження подібних субресурсів. Google перегляне реалізацію з урахуванням отриманих відгуків і в одному з майбутніх випусків запропонує покращений варіант.
  • Повернено можливість видалення пошукових систем, що пропонуються за замовчуванням. Нагадаємо, що починаючи з Chrome 97 у конфігураторі в секції «Управління пошуковими системами» (chrome://settings/searchEngines) було припинено можливість видалення елементів зі списку пошукових систем за умовчанням (Google, Bing, Yahoo) та редагування параметрів пошукової системи, що викликане невдоволення багатьох користувачів.
  • На платформі Windows надано можливість видалення самодостатніх web-додатків (PWA, Progressive Web App) через системні налаштування або панель керування за аналогією до видалення Windows-додатків.
  • Проводиться фінальне тестування можливого порушення роботи сайтів після досягнення браузером версії, що складається з трьох цифр замість двох (свого часу після випуску Chrome 10 у бібліотеках розбору User-Agent виникло багато проблем). При активації опції "chrome://flags#force-major-version-to-100" у заголовку User-Agent починає видаватися версія 100.
  • У CSS реалізовано підтримку каскадних шарів, що задаються за допомогою правила @layer і імпортуються через CSS-правило @import, використовуючи функцію layer(). CSS-правила всередині одного каскадного шару каскадуються разом, спрощуючи керуванням усім каскадом, надаючи гнучкі можливості зміни порядку прямування шарів і дозволяючи більш явно керувати CSS-файлами, запобігаючи виникненню конфліктів. Каскадні шари зручно застосовувати для оформлення, визначення стилів елементів за замовчуванням і винесення оформлення компонентів у зовнішні бібліотеки.
  • До класу HTMLInputElement додано метод showPicker(), що дозволяє відобразити готові діалоги для заповнення типових значень у полях з типами "date", "month", "week", "time", "datetime-local", "color" і "file", а також для полів, що підтримують автозаповнення (autofill) і вибір за списком (datalist). Наприклад, можна показати інтерфейс у формі календаря для вибору дати або палітри для введення кольорів.
    Реліз Chrome 99
  • У режимі Origin Trials (експериментальні можливості, що потребують окремої активації), реалізована можливість включення темного режиму оформлення для web-додатків. Кольори та фон для темної теми вибираються за допомогою нового поля color_scheme_dark у файлі з маніфестом веб-програми. Origin Trial має на увазі можливість роботи із зазначеним API з додатків, завантажених з localhost або 127.0.0.1, або після проходження реєстрації та отримання спеціального токена, який діє обмежений час для конкретного сайту.
  • Стабілізовано та запропоновано всім бажаючим API Handwriting Recognition, що дозволяє використовувати сервіси розпізнавання рукописного введення, що надаються операційною системою.
  • Для відокремлених web-додатків (PWA, Progressive Web App), що встановлюються, стабілізований компонент Window Controls Overlay, що розширює екранну область програми на все вікно, включаючи область заголовка, на який накладаються штатні кнопки управління вікном (закриття, мінімізація, максимізація). Web-додаток може керувати відмальовуванням та обробкою введення у всьому вікні, за винятком накладеного блоку з кнопками керування вікном.
  • У CSS-функції calc() дозволено вказівку значень "infinity", "-infinity" і "NaN" або виразів, що призводять до подібних значень, наприклад, 'calc(1/0)'.
  • У CSS-властивість color-scheme, що дає можливість визначити в яких колірних схемах може бути коректно показаний елемент (light, dark, day mode і night mode), доданий параметр only, що дозволяє виключити примусову зміну колірної схеми окремих HTML-елементів. Наприклад, якщо вказати «div { color-scheme: only light }», то для елемента div буде використовуватися тільки світла тема, навіть якщо в браузері буде примусово включено темне оформлення.
  • Для зміни значень властивості document.adoptedStyleSheets тепер можуть застосовуватися операції push() та pop() замість повного перепризначення властивості. Наприклад, «document.adoptedStyleSheets.push(newSheet);».
  • У реалізацію інтерфейсу CanvasRenderingContext2D додано підтримку подій ContextLost і ContextRestored, методу reset(), опції willReadFrequently, CSS-модифікаторів тексту, примітиву відтворення roundRect і конічних градієнтів. Поліпшено підтримку SVG-фільтрів.
  • Позбавлені префіксу "-webkit-" властивості "text-emphasis", "text-emphasis-color", "text-emphasis-position" і "text-emphasis-style".
  • Для сторінок, відкритих без HTTPS, заборонено доступ до API Battery Status, щоб отримати інформацію про заряд акумулятора.
  • У методі navigator.getGamepads() забезпечено виведення масиву об'єктів Gamepad замість GamepadList. GamepadList більше не підтримується в Chrome, що відповідає вимогам стандарту і поведінці двигунів Gecko і Webkit.
  • API WebCodecs приведено до відповідності специфікації. Зокрема, змінено метод EncodedVideoChunkOutputCallback() та конструктор VideoFrame().
  • У JavaScript-движку V8 в API Intl.Locale додані нові властивості calendars, collations, hourCycles, numberingSystems, timeZones, textInfo і weekInfo, що виводять інформацію про підтримувані календарі, часові пояси і параметри часу і тексту. const arabicEgyptLocale = new Intl.Locale('ar-EG') // ar-EG arabicEgyptLocale.calendars // ['gregory', 'coptic', 'islamic', 'islamic-civil', 'islamic-tbla'] arabicEgyptLocale .collations // ['compat', 'emoji', 'eor'] arabicEgyptLocale.hourCycles // ['h12'] arabicEgyptLocale.numberingSystems // ['arab'] arabicEgyptLocale.timeZones // ['Africa/Cairo'] arabicEgy .textInfo // { direction: 'rtl' } japaneseLocale.textInfo // { direction: 'ltr' } chineseTaiwanLocale.textInfo // { direction: 'ltr' }
  • Додано функцію Intl.supportedValuesOf(code), що повертає масив підтримуваних ідентифікаторів для API Intl для властивостей calendar, collation, currency, numberingSystem, timeZone і unit. Intl.supportedValuesOf('unit') // ['acre', 'bit', 'byte', 'celsius', 'centimeter', …]
  • Внесено покращення до інструментів для web-розробників. У мережній панелі надано можливість уповільнення WebSocket-запитів для налагодження роботи в умовах повільного з'єднання. До вкладки «Application» додано панель для відстеження звітів, згенерованих через API Reporting. На панелі Recorder перед відтворенням записаної команди реалізовано підтримку очікування до того, як елемент стане видимим або доступним для кліка. Спрощено емуляцію темної теми оформлення. Покращено керування панелями із сенсорних екранів. У веб-консолі додано підтримку escape-послідовностей для виділення тексту кольором, додано підтримку масок підстановки %s, %d, %i та %f, покращено роботу фільтрів повідомлень.
    Реліз Chrome 99

Окрім нововведень та виправлення помилок у новій версії усунено 28 вразливостей. Багато вразливостей виявлено в результаті автоматизованого тестування інструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer та AFL. Критичних проблем, які дозволяють обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення, не виявлено. В рамках програми з виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 21 премію на суму 96 тисяч доларів США (одна премія $15000, дві премії $10000, шість премій $7000, дві премії $5000, дві премії $3000 та дві премії $2000 та $1000.

Джерело: opennet.ru

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