Рубрика «Google Chrome» - 14

Три месяца разработчики Chromium обсуждают новые программные интерфейсы declarativeNetRequest API, лишающие возможности полноценно использовать webRequest API. Расширения используют данные API для блокировки контента на лету во время загрузки страницы. В новой системе блокировщики не cмогут блокировать события, а только просматривать их. Вместо этого расширениям предлагают перейти на declarativeNetRequest API — и сообщать браузеру о тех событиях, которые они хотят заблокировать. Это якобы должно ускорить загрузку страниц в браузере (потому что расширения больше не будут тормозить основной поток), а также защитит приватность пользователей, по мнению Google.

Первым поднял тревогу Реймонд Хилл, автор uBlock Origin и uMatrix. Он заявил, что его расширения для блокировки рекламы «не смогут существовать», если будут приняты изменения.

Позже пессимизм высказали разработчики других расширений, в том числе F-Secure, NoScript и Ermes Cyber Security. Например, NoScript для Firefox никак не получится перенести на Chrome.
Читать полностью »

Предлагаемые изменения в Chromium нарушат работу uBlock Origin - 1Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения необходимы для быстрой работы встроенного в Chromium блокировщика рекламы, а также реализации в браузере функциональности, которая сейчас есть в Adblock Plus (тот же синтаксис и т. д.).

Проблема в том, что эти интерфейсы плохо совместимы с текущей схемой работы uBlock Origin: «Если блокировщики смогут работать только через эти (весьма ограниченные) declarativeNetRequest API, то фактически это означает, что два блокировщика, которые я поддерживал в течение многих лет, uBlock Origin и uMatrix, больше не смогут существовать», — написал Реймонд Хилл.
Читать полностью »

Современный браузер — это крайне сложный проект, в котором даже безобидные с виду изменения могут приводить к неожиданным сюрпризам. Поэтому существует множество внутренних тестов, которые должны такие изменения отловить до релиза. Тестов никогда слишком много не бывает, поэтому полезно использовать в том числе сторонние публичные бенчмарки.

Меня зовут Андрей Логвинов, я работаю в группе разработки рендеринг-движка Яндекс.Браузера в Нижнем Новгороде. Сегодня я расскажу читателям Хабра о том, как устроено управление памятью в проекте Chromium на примере одной загадочной проблемы, которая приводила к падению производительности в тесте Speedometer. Этот пост основан на моём докладе с мероприятия Яндекс.Изнутри.

История одной проблемы со Speedometer, или Как Chromium управляет памятью - 1

Читать полностью »

Я пока не сумел побороть сигнальный сервер при написании многопользовательского чата, поэтому стал искать уже готовые фреймворки. Самым легким из всех мне показался EasyRTC.
Читать полностью »

Встроенный блокировщик рекламы браузера Chrome начнет работу 9 июля - 1

Сегодня в блоге Chromium была опубликована новость о начале работы встроенного в браузер Chrome блокировщика рекламы. Разработчики планируют активировать модуль 9 июля, с этого момента большая часть рекламных материалов будет блокироваться.

По словам разработчиков, блокировщик позволит избавиться от некоторых типов рекламы, которые сильнее всего докучают пользователям. Ранее Chrome блокировал рекламу, которая нарушала стандарты, правда, только на сайтах Северной Америки и Европы. Кроме того, рекламная платформа корпорации Google приняла решение бороться с нарушителями, чтобы снизить количество «плохих» рекламных материалов.
Читать полностью »

Как-то обошли на Хабре недавнюю Magellan-ошибку и связанные с ней уязвимости, попробую исправить это упущение.

Немного истории:

  • 1 Ноября 2018 в Chromium прилетел баг-репорт за номером 900910: "Multiple issues in SQLite via WebSQL." Об ошибке сообщает Wenxiang Qian из Tencent Blade Team.
  • 5 Ноября 2018 ошибку закрывают в ядре библиотеки SQLite (FTS3), где она собственно и живет чуть не со времен создания модуля, т.е. с ноября 2009-го года.
  • 28 Ноября 2018 оно вливается в Chromium
  • Чуть позже Tencent Blade Team публикует сообщение об ошибке, дав ей название Magellan, особенно не раскрывая при этом подробностей, и указав, что публикация готовых эксплойтов и PoC пока не планируется.
  • Через неделю в интернете полно PoC, крэшащих Chrome, Electron dev-framework и т.п. Доказательств и каких-либо других сведений, что уязвимость использовалась в злонамеренных целях по прежнему нет.
  • DRH, подтвердил подозрения на Hacker News, что уязвимость имеет место (как минимум если допускается исполнение "чужого" SQL-запроса, или SQL Injection подобного сценария).

Немного подробнее о Magellan SQLite BUG

Ошибка связана с переполнением суммы целых чисел aka integer overflow, которая может быть вызвана в подсистеме FTS3/4 изменением индекса FTS таблицы, что в свою очередь может привести к переписыванию памяти или завершению с исключением.

Читать полностью »

Несколько дней назад появились слухи, что Microsoft разрабатывает браузер на базе Chromium, который будет поставляться по умолчанию вместо Edge. Основанием стало то, что сотрудники Microsoft вдруг стали делать коммиты в свободный проект. Сейчас Microsoft официально заявила, что действительно отказывается от собственного движка EdgeHTML в пользу Chromium в десктопной версии браузера.

Для веб-разработчиков это большое облегчение: при тестировании одним движком станет меньше, а куча оригинальных особенностей IE/Edge канут в историю. Однако по мнению Mozilla, такое решение коллег из Microsoft создаёт угрозу для интернета, потому что доминирование единой платформы от Google становится ещё более тотальным. Есть угроза, что Firefox уйдёт в настолько маргинальную нишу, что разработчики даже перестанут тестировать сайты под него. Доля Firefox продолжает снижаться, В декабре 2018 года упала до минимальных значений за много лет: менее 9% на десктопах.
Читать полностью »

Замедляем Windows, часть 3: завершение процессов

Невызванная функция замедляет программу в 5 раз - 1

Автор занимается оптимизацией производительности Chrome в компании Google — прим. пер.

Летом 2017 года я боролся с проблемой производительности Windows. Завершение процессов происходило медленно, сериализованно и блокировало системную очередь ввода, что приводило к многократным подвисаниям курсора мыши при сборке Chrome. Основная причина заключалась в том, что при завершении процессов Windows тратила много времени на поиск объектов GDI, удерживая при этом критический раздел system-global user32. Я рассказывал об этом в статье «24-ядерный процессор, а я не могу сдвинуть курсор».

Microsoft исправила баг, и я вернулся к своим делам, но потом оказалось, что баг вернулся. Появились жалобы на медленную работу тестов LLVM, с частыми подвисаниями ввода.

Но на самом деле баг не вернулся. Причина оказалась в изменении нашего кода.
Читать полностью »

На-click-ать известность, или как взбудоражить робота и … остальных - 1

Давным-давно, у фасада далекого-далекого магазина состоялся подслушанный разговор:

NB: - А как привести много посетителей на свой новый сайт?

GURU: - Ну можно ссылок «раскидать» на разных форумах и в соц. сетях. Поисковая оптимизация поможет и контент. Можно тизерные сети привлечь, а можно много раз посетить сайт через разные прокси ...

NB: - И чем же помогут такие посещения, ведь это иллюзия живых людей?

GURU: - Счетчик статистики от google или от yandex объяснит поисковикам, что сайт становится популярным. Да еще и реферер можно связать с посещаемыми сайтами по запросам. Подрастет позиция в поисковиках, а значит и подрастет поисковый трафик.

NB: - А где же взять такое количество прокси?

GURU: - Где?… Ну в интернете поищи...

NB перестал спрашивать, видимо, опасаясь раздражать явно более опытного собеседника.
GURU закатил глаза, как бы подчеркивая исчерпанность темы про прокси и замолчал…
Читать полностью »

Допиливаем прибитое поле поиска Гугла - 1За десятилетие развития Гугл уже давно перестал выкладывать страницы поиска с примитивной вёрсткой, денег и времени на дизайн поисковой страницы стало хватать. Недавно (на самом деле, в разных районах мира он экспериментировал уже 2 месяца) он выложил новый дизайн результатов поиска, которые ещё постепенно дорабатываются — появилось овальное поле ввода (в поиске картинок — ещё прямоугольное), прибитое к верху (при прокрутке страницы) поле поиска. Остальные функции, в основном, остаются теми же, для которых довольно давно был сделан юзерскрипт (расширение браузера) Google Search Extra Buttons. В связи с изменениями вёрстки страницы были сделаны доработки, и заодно они затронули новые элементы пользовательского интерфейса, о которых порассуждаем сейчас, показав работающие модификации.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js