Публикации по теме 'chrome'


Использование утечки значения Sentinel для обхода последней версии Chrome v8 HardenProtect
Предисловие Сторожевое значение (также известное как значение флага/значение отключения/мошенническое значение/значение сигнала/фиктивные данные) — это специальное значение, используемое в алгоритме, оно обычно используется в качестве специального значения для условий завершения в циклах или рекурсивных алгоритмах. В исходном коде хрома есть много значений Sentinel. И от-утечки-дыры-к-хром-рендереру-rce , и Новый мир TheHole — как маленькая утечка потопит отличный браузер..

JS RegExp, быстрый и медленный
Движок V8 JavaScript использует Irregexp , один из самых быстрых движков RegExp. Однако, чтобы максимально использовать эту мощь, разработчикам JS все еще необходимо избегать определенных ловушек, которые, к сожалению, не являются ни очевидными, ни хорошо документированными и могут тратить драгоценное время выполнения на встроенные функции RegExp, прежде чем когда-либо достигнут сгенерированный код сопоставления с образцом Irregexp. Например, недавно я столкнулся с проблемой на..

Давайте разберемся с Chrome V8: кэш компиляции  —  Сделайте компилятор быстрее
Глава 19. Объясните рабочий процесс кэша компиляции и основные принципы. Добро пожаловать в другие главы Давайте разберемся с Chrome V8 Из соображений производительности V8 использует кэш компиляции для хранения SharedFunction, который является результатом компиляции, кэш возвращает результат непосредственно после повторной компиляции того же кода JavaScript. Вы можете спросить, почему один и тот же код компилируется снова. Сначала скомпилируйте, а затем выполните — это..

Chromebook — Ноутбук || Хромбук || ОС Chrome
Вот что нам нужно знать о Chromebook . Chromebook мощные и простые ноутбуки. Готов справиться с тем, что важно для вас, спроектировать таким образом что облегчает их обработку. Послушайте, Chromebook работает под управлением Chrome OS, операционной система, созданная Google, простая, быстрая и безопасная. Так чем же отличаются Chromebook? Вот что нам нужно знать о Chromebook . Chromebook мощные и простые ноутбуки. Готов справиться с тем, что важно для вас,..

For…In против цикла For…Of по свойствам массива; Итерация по объектам, не являющимся массивами
Мы знаем классический оператор for , который отлично работает, в то время как for in , похоже, преобразует элементы массива в строки и добавляет «0» к массиву. const filter = (array, callback) => { const result = []; for ( let element of array) { if (callback(element)) { filteredArray.push(element); } } return result; }; const callbackEven = element => { if (element % 2 === 0) return true; else return false; }; Метод push..

Движок V8 и встроенное кэширование в JavaScript
Встроенное кэширование - тема для JavaScript, которую редко обсуждают, но при этом очень важно писать оптимизированный код. Прежде чем мы начнем, что такое встроенное кэширование, нам нужно знать, зачем нам встроенное кеширование. Да, нам нужно кеширование, чтобы ускорить работу, мы все это знаем. Итак, следующая часть - как в игру вступило встроенное кеширование? История встроенного кеширования восходит к движку Google V8. Первый движок JavaScript под кодовым названием SpiderMonkey..

Принудительно поделиться всем экраном в Chrome
Мы столкнулись с вариантом использования, когда хотели убедиться, что пользователь использует весь свой экран, а не только конкретное окно/вкладку. Я объясню решение, которое мы нашли для вышеуказанной проблемы в Chrome. Хром MediaTrackSettings.displaySurface Свойство displaySurface словаря MediaTrackSettings указывает тип захватываемой поверхности дисплея. Возможные значения — application — Видеодорожка потоков содержит все окна, принадлежащие выбранному..