Как стать автором
Обновить
121.58

Google Chrome

Браузер от Gooogle

Сначала показывать
Порог рейтинга
Уровень сложности

Как Google подсунул нам котлеты и чуть не погубил проект. Почти юмористическая и почти детективная история одной ошибки

Время на прочтение3 мин
Количество просмотров52K

Юмористический детектив о том, как нам подсунули свинью котлеты. Он не то что основан на реальных событиях, - это их подробное описание, без доли вымысла. Только отметок времени нет, для большей детализации. Но могу сказать, что на всё про всё ушло часа 3.

Вероятно, заголовок сбивает с толку, может показаться что это какой-то кликбейт. Но так вы сможете себе лучше представить мои эмоции, когда у меня спросили: «А откуда у нас в проекте котлеты?»

Понятное дело, что проект бы вряд ли от этого погиб, но, когда непонятные ошибки выпрыгивают накануне приёмо-сдаточных испытаний – относишься к ним соответственно. Да и как посмотреть в глаза заказчику, когда у тебя «котлеты»?!

Что там за котлеты ещё?

Автоматическое тестирование аналитики в браузере

Время на прочтение9 мин
Количество просмотров11K
Представьте себе такую ситуацию. Вы запилили мегакрутую фичу на странице сайта и через месяц решили оценить её эффективность. Начинаете считать — и понимаете, что своим релизом вы сломали метрики на странице: случайно удалили код, отправляющий важные события аналитики, или забыли покрыть новую фичу событиями. Знакомо?

События — это действия пользователей на сайте, которые можно отслеживать: клики на кнопки, переходы и просмотры страниц. Когда пользователь совершает целевое действие, в систему аналитики отправляется событие. В итоге мы получаем отчёт о поведении пользователей на конкретной странице сайта.

Если события приходят некорректно, отчёт будет недостоверным.

Тестирование всех событий продуктовой аналитики перед каждым релизом обычно отнимает много времени. В этой статье я расскажу, как автоматизировать этот процесс.

Читать дальше →

Мы должны сказать спасибо KDE за современный веб

Время на прочтение5 мин
Количество просмотров33K

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

Читать далее

Почему uBlock Origin лучше работает в Firefox

Время на прочтение3 мин
Количество просмотров18K


Автор uBlock Origin и uMatrix Реймонд Хилл обновил памятку, почему расширение uBlock Origin наиболее эффективно работает в браузере Firefox. Некоторые технические детали относятся не только к uBO, но и к другим блокировщикам рекламы.

Реймонд Хилл называет несколько основных факторов: более эффективное вскрытие маскировки CNAME, HTML-фильтрация, поддержка WebAssembly, более корректная процедура запуска браузера, сжатие LZ4 и надёжно отключённый префетчинг ресурсов. Всё это есть в Firefox, но отсутствует или глючит в браузерах на основе Chromium.
Читать дальше →

Невменяемый, необъятный масштаб браузеров

Время на прочтение3 мин
Количество просмотров73K

Увидев вот эту публикацию про браузерные войны, я хотел бы представить альтернативное наблюдение за тем, как мы докатились до такой жизни. Но Дрю ДеВолт уже всё сказал за меня.

Начиная с первых войн между Netscape и IE, главным инструментом в конкуретной борьбе браузеров стала функциональность. Вот только стратегия неограниченного роста и расширения — совершенно безумная. Слишком долго мы позволяли ей продолжаться.

С помощью wget я скачал все 1217 спецификаций W3C, опубликованных на текущий момент. Существенная часть из них должна быть реализована в браузере, чтобы современный веб работал. Я подсчитал объём этих спецификаций. Как думаете, насколько сложен современный веб?

Читать далее

Пугающие эксперименты с PDF: запускаем «Арканоид» в документе

Время на прочтение5 мин
Количество просмотров12K

Подробнее об этом хаке и особенностях его работы можно узнать из доклада на !!con 2020 «Playing Breakout… inside a PDF!!»

Если вы его не смотрели, то попробуйте открыть файл breakout.pdf в Chrome.

Как и многие из вас, я всегда считал PDF довольно безопасным форматом: автор создаёт текст и графику, после чего он открывается в программе просмотра PDF, больше ничего не делая. Несколько лет назад я мимоходом слышал об уязвимостях Adobe Reader, но особо не задумывался о том, как они могут возникать.

Изначально Adobe сделала PDF именно для этого, но мы уже выяснили, что сегодня это совсем не так. В 1310-страничной спецификации PDF (на самом деле довольно понятном и интересном чтиве) описывается безумное количество возможностей, в том числе:


но самое интересное для нас…

Читать дальше →

Движок, который смог: как Chromium удалось захватить 90% рынка браузеров

Время на прочтение14 мин
Количество просмотров62K

От браузерного движка, который изначально был малоизвестной альтернативой, применявшейся в непопулярном браузере, до чемпиона, захватившего весь рынок.

Вероятно, иногда вы встречаете в текстах понятие браузерное разнообразие. Под ним подразумевается равновесие на платформе веба, при котором в мире существует множество реализаций браузеров, достаточное для стимулирования инноваций и конкуренции между ними. Альтернативой этому является монокультура браузеров, при которой один браузер или реализация браузера контролирует весь рынок, а значит, и управляет развитием веба. Когда кто-то содействует браузерному разнообразию, он часто делает это ради процесса создания независимых веб-стандартов, поддерживаемых W3C, который работает только когда ни один из браузеров не может диктовать функции, включаемые в платформу веба.

У веб-сообщества есть достаточно причин опасаться отсутствия браузерного разнообразия. После того, как Internet Explorer захватил в начале 2000-х долю 90% от рынка браузеров, для выпуска нового браузера его разработчикам потребовалась добрая половина десятилетия. В тот период развитие веба остановилось, и начали возникать проблемы с безопасностью. Из-за этого веб стал хуже, поэтому мы часто стремимся к тому, чтобы браузеры конкурировали, а не монополизировали веб.
Читать дальше →

Google продвигает новый стандарт WebBundles — потенциально опасную для веба технологию «упаковки» веб-сайтов

Время на прочтение5 мин
Количество просмотров49K
В общем потоке новостей остался незамеченным совместный призыв продукт-менеджера Chrome Кенджи Бахе и веб-консультанта Google Юсуке Уцуномии об использовании нового стандарта Web Bundles, разработанного Google. На chromium.googlesource появился соответствующий мануал по использованию WebBundles и, собственно, особо о нем больше не говорилось. Запись от лица Базе и Уцуномии была опубликована еще в ноябре 2019 года, но вызвала реакцию сообщества только сейчас, и то, исключительно на нескольких профильных площадках и в одном блоге, посвященном кибербезопасности.



Чем так опасна технология «упаковки» содержимого веб-страницы в один источник, что это вообще такое, и почему команда веб-разработки Google ступает на очень скользкую дорожку, давайте разбираться ниже.
Читать дальше →

Расширение для Chrome, которое предупредит вас о слежке

Время на прочтение6 мин
Количество просмотров59K

Привет, Хабр! Роскомсвобода снова с хорошими новостями.


Умелые руки нашей команды разработали расширение для браузера Google Chrome Censor Tracker и запускают его в открытое плавание публичное бета-тестирование.



Несколько месяцев мы проверяли работу Censor Tracker с помощью наших друзей, коллег и преданных подписчиков, обсуждали и исправляли возникающие ошибки и сейчас готовы представить наше расширение широкой публике.

Читать дальше →

Профессиональное применение инструментов разработчика Chrome: 13 советов

Время на прочтение7 мин
Количество просмотров34K
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome.


Читать дальше →

Chromebook: заметки реального пользователя

Время на прочтение5 мин
Количество просмотров35K

Два года назад моим вторым портативным компьютером стал Chromebook. В этой статье я расскажу о личном опыте использования устройства на базе ChromeOS.

Мне приходилось знакомиться с операционными системами, как вполне привычными (Windows, Linux, MacOS), так и с экзотикой (OS/2, QNX, Solaris, KolibriOS, ReactOS и подобными). Каждый раз я встречался и положительными, и отрицательными сторонами каждой из них. Перечислять их смысла нет, каждый делает выбор самостоятельно. Но для себя я определил некоторое количество критериев, которым должен соответствовать мой идеальный вариант операционной системы.
Читать дальше →

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт?

Время на прочтение5 мин
Количество просмотров97K

image


Всем привет!


Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы".


Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с которой мы недавно столкнулись.
Он мог бы быть в стиле "А-а-а-а-а-а! Смотрите, Большой брат (Google) следит за нами", но я, всё же, попробую провести какой-никакой анализ и выдвинуть правдоподобные гипотезы о том, почему может происходить то, что произошло.


Заранее прошу прощения, если кому-то не нравится формат а-ля "журнал }{akep в нулевые". Пишите — исправлюсь.

Сборка мусора в V8: как работает новый Orinoco GC

Время на прочтение9 мин
Количество просмотров13K
Если честно, это одна из самых жестоких статей, что я читал за последнее время: тут много про смерть в молодом возрасте, про гонения из одной области памяти в другую и про ожесточённую борьбу за производительность. В общем, добро пожаловать под кат — там перевод отличной статьи Питера Маршалла о том, как сегодня работает сборка мусора в V8.

Читать дальше →

Ближайшие события

Наши урезанные мобильные веб-сайты

Время на прочтение3 мин
Количество просмотров16K
image

Все мы скорее всего встречали ужасные мобильные версии веб-сайтов, и как бы не хотелось расшевелить тему разработки этих веб-сайтов, сегодня я хочу рассказать о восприятии мобильных веб-сайтов в целом.

“Так исторически сложилось” считать мобильные версии урезанными. Так действительно было, даже с приходом полноценных браузеров в мобильные телефоны. Но уже прошло очень много времени и пора пересмотреть отношение к мобильным веб-сайтам.
Читать дальше →

Нужно ли чистить строки в JavaScript?

Время на прочтение6 мин
Количество просмотров79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →

Шестая проверка Chromium, послесловие

Время на прочтение6 мин
Количество просмотров15K
строгий единорог

В начале 2018 года в нашем блоге появился цикл статей, посвящённый шестой проверке исходного кода проекта Chromium. Цикл включает в себя 8 статей, посвященных ошибкам и рекомендациям по их предотвращению. Две статьи вызвали бурное обсуждение, и до сих пор на почту мне изредка приходят комментарии касательно тем, затронутых в них. Пожалуй, следует дать некоторые дополнительные пояснения и, как говорится, расставить точки над i.
Читать дальше →

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

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

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



Читать дальше →

Microsoft официально подтвердила, что Edge переходит на движок Chromium

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

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

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

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



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

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

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

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

Microsoft разрабатывает браузер на базе Chromium, который будет поставляться по умолчанию вместо Edge

Время на прочтение3 мин
Количество просмотров40K

Конец многолетнему противостоянию, хотя скорее это было избиение

Начиная с 2015 года компания Microsoft активно продвигала свой новый браузер, который сначала носил кодовое имя Spartan, а после получил название Edge. Тогда компания признала, что Internet Explorer морально устарел и многие пользователи ожидали какого-то прорыва от главного поставщика пользовательских ОС в мире, однако вместо инноваций сообщество получило того же «ослика», но в новой упаковке.

Спустя почти четыре года Microsoft практически расписалась в поражении на рынке браузеров и признала слабость используемого ими EdgeHTML. И несколько месяцев назад инженеры компании приступили к разработке собственного браузера на базе Chromium — наиболее популярного современного движка — о чем свидетельствуют коммиты в Chromium Gerrit. Новый проект получил кодовое имя Anaheim.
Читать дальше →

Вклад авторов