Chrome නිකුතුව 74

ගූගල් ඉදිරිපත් කරන ලදී වෙබ් බ්‍රව්සර් නිකුතුව ක්රොම් 74... සමගාමීව පවතින නිදහස් ව්යාපෘතියක ස්ථාවර නිදහස් කිරීම ෙකෝමියම්, Chrome හි පදනම වන. ක්‍රෝම් බ්‍රවුසරය වෙනස් использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ පරාමිතීන්. Следующий выпуск Chrome 75 запланирован на 4 июня.

ප්රධාන වෙනස් в ක්රෝම් 74:

  • При наступлении события onUnload, вызываемого при закрытии страницы, теперь තහනම් කර ඇත выводить всплывающие окна (блокируется вызов window.open()), что позволит защитить пользователей от принудительного открытия рекламных страниц после закрытия сомнительных сайтов;
  • В JavaScript-движке ක්රියාත්මක කර ඇත появился новый режим JIT-less (флаг «—jitless»), дающий возможность выполнить JavaScript без применения JIT (используется только интерпретатор) и без выделения исполняемой памяти в процессе выполнения кода. Отключение JIT может быть полезным для повышения безопасности при работе с потенциально опасными web-приложениями, а также для обеспечения сборки на платформах, запрещающих использование JIT (например, в iOS, на некоторых Smart TV и игровых консолях. При отключении JIT производительность выполнения JavaScript снижается на 40% в тесте Speedometer 2.0 и на 80% в тесте Web Tooling Benchmark, но при симуляции работы с YouTube отмечено снижение производительности лишь на 6%. Потребление памяти при этом уменьшается незначительно, всего на 1.7%;
  • В V8 также предложена большая порция новых оптимизаций. Например, на 60% ускорено выполнение вызовов функций, в которых число фактически переданных параметров не соответствует указанному при определении функции числу аргументов. Ускорен доступ к своействам DOM при помощи функции get, что положительно повлияло на производительность фреймворка Angular. Ускорена работа парсинга JavaScript: оптимизация декодировщика UTF-8 позволила поднять производительность парсера в режиме streaming (разбор по мере загрузки) на 8%, а исключение лишних операций дедупликации дало прирост ещё на 10.5%;
  • Проведена работа по снижению потребления памяти движка JavaScript.
    Добавлен код для очистки кэша байткода, который занимает примерно 15% от всего размера кучи. В сборщик мусора добавлена стадия для вытеснения из кэша редко скомпилированного байткода для используемых функций или функций, вызываемых только при инициализации. Решение о чистке принимается на основании новых счётчиков, учитывающих последнее время обращения к байткоду. Указанное изменение позволило снизить потребление памяти на 5–15% без негативного влияния на производительность. Дополнительно, в компиляторе байткода исключена генерация заведомо неиспользуемого кода, например, который следует после return или break (если на него нет Jump-перехода);

    Chrome නිකුතුව 74

  • Для WebAssembly ක්රියාත්මක කර ඇත поддержка потоков и атомарных операций (API WebAssembly Threads и WebAssembly Atomics);
  • Для обособленной поставки скриптов добавлена поддержка заголовка «#!», определяющего интерпретатор для запуска. Например, по аналогии с другими скриптовыми языками, файл JavaScript может выглядеть примерно так:

    #!/usr/bin/env node
    console.log(42);

  • В CSS добавлен новый media-запрос «කැමැත්ත-අඩු කළ-චලනය«, позволяющий сайту определить состояние настроек в операционной системе, связанных с отключением анимированных эффектов. При помощи предложенного запроса владелец сайта පුළුවන් узнать, что пользователь отключил у себя анимированные эффекты и также отключить различные анимационные возможности на сайте, например, убрать эффект дрожания кнопок, используемых для привлечения внимания;
  • В дополнение к появившейся в Chrome 72 возможности определения публичных полей реализована поддержка пометки полей приватными, после чего доступ к их значениям будет открыт только внутри класса. Для пометки поля приватным следует указать перед именем поля знак «#». Как и в случае с публичными полями приватные свойства не требуют явного использования конструктора.
  • HTTP-заголовок Feature-Policy, позволяющий управлять поведением API и включением определённых возможностей (например, можно включить синхронный режим работы XMLHttpRequest или отключить Geolocation API), дополнен JavaScript API для контроле активности тех или иных возможностей. Для разработчиков предложено два новых метода document.featurePolicy и frame.featurePolicy, предлагающих три функции:
    allowedFeatures() для получения списка разрешённых для текущего домена функций, allowsFeature() для выборочной проверки включения конкретных возможностей и getAllowlistForFeature() для вывода списка доменов, для которых на текущей странице разрешена указанная возможность;

  • Добавлена экспериментальная («chrome://flags#enable-text-fragment-anchor») поддержка режима Scroll-to-Text, позволяющего формировать ссылки на отдельные слова или фразы, без явного указания в документе меток при помощи тега «a name» или свойства «id». Для передачи ссылки предлагается специальный параметр «#targetText=», в котором можно указать текст для перехода. Допускается указание маски, включающей фразы, указывающие на начало и конец фрагмента с использованием запятой в качестве их разделителя (например, «example.com#targetText=start%20words, end%20words»);
  • В конструктор AudioContext добавлена опция නියැදි අනුපාතය, позволяющая установить делаемую частоту дискретизации для операций со звуком через Web Audio API;
  • පන්ති සහාය එක් කරන ලදී Intl.Local, предоставляющего методы для разбора и обработки выставляемых локалью параметров языка, региона и начертания, а также для чтения и записи тегов расширений Unicode, сохранения пользовательских настроек локали в сериализированном формате;
  • යාන්ත්රණය අත්සන් කළ HTTP හුවමාරු (SXG) расширен средствами для දැනුවත් කරනවා распространителей контента об ошибках загрузки подписанного контента, таких как проблемы с верификацией сертификатов. Обработка ошибок производится через расширения API Network Error Logging. Напомним, что SXG එය ඉඩ владельцу одного сайта при помощи цифровой подписи авторизовать размещения определённых страниц на другом сайте, после чего в случае обращения к этим страницам на втором сайте, браузер будет показывать пользователю URL исходного сайта, несмотря на то, что страница загружена с другого хоста;
  • В класс TextEncoder добавлен метод encodeInto(), позволяющий записать закодированную строку напрямую в предварительно выделенный буфер. Метод encodeInto() является высокопроизводительной альтернативой методы encode(), требующего выполнения операции выделения буфера при каждом обращении.
  • В Service worker සපයා ඇත буферизация вызова client.postMessage() до момента готовности документа. Сообщения, отправленные через client.postMessage(), будут удержаны до стадии генерации события DOMContentLoaded, установки onmessage или вызова startMessages();
  • В соответствии с требованием спецификации CSS Transitions එකතු කළා события transitionrun, transitioncancel, transitionstart и transitionend, генерируемые когда CSS-переход помещен в очередь, отменяется, начинает или заканчивает выполняться.
  • При указании через overrideMimeType() или MIME-тип некорректной кодировки символов для запроса XMLHttpRequest, теперь осуществляется откат на UTF-8 вместо Latin-1;
  • Объявлено устаревшим и будет удалено в одном из следующих выпусков свойство «allow-downloads-without-user-activation», через которое можно было организовать автоматическую загрузку файлов при обработке iframe. В будущем инициирование загрузки файлов без явного действия пользователя будет запрещено, так как оно активно применялось для злоупотреблений, навязывания загрузок и подстановки частей вредоносного ПО на компьютер пользователя. Для начала загрузки обязательно потребуется клик пользователя на той же странице. Изначально свойство планировалось удалить в Chrome 74, но удаление было කල් දැම්මා до Chrome 76.
  • Для платформы Windows предложена опциональная тёмная тема оформления интерфейса (в прошлом выпуске тёмное оформление было подготовлено для macOS). Так как тёмное оформление почти идентично оформлению в режиме инкогнито, для выделения приватного режима работы вместо пиктограммы профиля пользователя добавлен специальный индикатор;
  • Для корпоративных пользователей добавлена возможность Chrome Browser Cloud Management для управления настройками браузеров пользователей через консоль Google Admin;

    Chrome නිකුතුව 74

නවෝත්පාදන සහ දෝෂ නිවැරදි කිරීම් වලට අමතරව, නව අනුවාදය ඉවත් කරයි අවදානම් 39 ක්. ස්වයංක්‍රීය පරීක්ෂණ මෙවලම්වල ප්‍රතිඵලයක් ලෙස බොහෝ දුර්වලතා හඳුනාගෙන ඇත ලිපිනය Sanitizer, Memory Sanitizer, ප්‍රවාහ අඛණ්ඩතාව පාලනය කරන්න, ලිබ්ෆුසර් и ඒඑෆ්එල්. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 19 премии на сумму 26837 долларов США (четыре премии $3000, четыре премии $2000, одна премия $1337, четыре премии $1000, три премии $500). Размер 4 вознаграждений пока не определён.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න