Name already in use
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Chromium — графический веб-браузер с открытым исходным кодом, основанный на движке Blink и разрабатываемый корпорацией Google совместно с сообществом The Chromium Authors и некоторыми другими корпорациями. На основе Chromium создан браузер Google Chrome, на сегодняшний день его доля превысила 60%. Поэтому хотелось бы поговорить о нем чуть больше, чем об остальных, хотя про Firefox, Edge, Safari и их организацию было бы тоже здорово посмотреть, но не сегодня. Отмечу, что не стоит под Chromium подразумевать Google Chrome, так как одно определение дополняет другое. Google Chrome = Chromium + Google Update + закрытые плагины и кодеки + отправка отчетов и статистики.

- Общая схема
Chromium / Chrome — это многопроцессорный браузер, если только он не запускается с опцией командной строки —single-process. Все процессы в браузере имеют разные обязанности, но есть некоторые вещи, которые являются общими для всех процессов:
- Все процессы имеют внутренний цикл, который обрабатывает аннотацию задачи и связь с другими процессами;
- Процессы взаимодействуют друг с другом посредством сообщений. Для достижения этой цели используются структуры IPC и Mojo.
Существует от 2 до 5 особо важных типов процесса (в зависимости от платформы). «Browser process» (процесс браузера) является основным процессом на всех платформах. Этот процесс является точкой входа приложения. Другим важным процессом, который доступен на всех платформах при работе в многопроцессорном режиме, является «Renderer process» (процесс рендеринга). Существует также «Utility process» (утилитный процесс), который выполняется на короткий промежуток времени, но выполняет важные задачи инициализации. В системах на базе ядра Linux есть также вспомогательный под названием «Zygote process» (протопроцесс). И последний, но не менее важный: если аппаратное ускорение доступно в системе, то появляется дополнительный процесс, называемый «GPU process» (процесс аппаратного ускорения).
- Browser process
Как упоминалось ранее, «Browser process» является процессом запуска. Он также называется брокерским процессом, поскольку он имеет определенные привилегии, например, запуск или контроль за действиями других процессов (например, изолированных процессов).
«Browser process» генерирует отдельные потоки, чтобы упростить основные функции. Существует поток ввода-вывода, который отвечает за связь с «Renderer thread». Пользовательский интерфейс представляет собой основной поток процесса браузера, который гарантирует обработку событий в пользовательском интерфейсе браузера. Режимы DB, File и Cache отвечают за обработку соединений и запросов к базе данных, операций с файлами и управление кэшем, соответственно. Существует дополнительный поток «Process Launcher thread», который необходим для создания или развития новых процессов, например, процесса Zygote или GPU. Помимо упомянутых выше потоков, «Browser process» также порождает так называемые «Worker thread» (рабочие потоки). Рабочие потоки занимаются необходимыми задачами (такими как поиск DNS) и являются частью коллекции потоков «WorkerPool». Помимо обработки процессов и потоков, «Browser process» имеет много других важных обязательств. Его самая важная роль — управление песочницей. Песочница — специально выделенная среда для безопасного исполнения. Песочницы представляют собой пример виртуализации. В «Browser process» размещаются такие службы как движок песочницы, диспетчер перехвата и служба IPC. Эти службы способны выполнять действия от имени целевого процесса, разрешенные политикой. «Browser process» также отвечает за работу с сетевыми ресурсами и запросами URL.
- Zygote process
Как упоминалось, в системах на базе ядра Linux, существует специальный процесс, называемый «Zygote process». Он создается при запуске, а затем из него выделяются необходимые процессы, такие как «Renderer process». Он имеет внутренний цикл, как и любой другой процесс в Chromium. Выполненные операции вызываются из объекта TaskAnnotator или TaskRunner. «Zygote process» имеет много обязанностей, включая разбор документов, задачи планирования, декодирования ресурсов, запуск сценариев, запуск задач компоновщика. На других платформах, где «Zygote process» не используется, эти задачи выполняются немедленно другим процессом, все на себя берет «Renderer process».
Как известно из школьного курса биологии, зигота — это оплодотворенная и готовая к развитию яйцеклетка. Но в нашем случае, это имеет глубинный смысл. Ведь в Chrome каждая вкладка и каждое расширение — это отдельный процесс. Одна из важных особенностей Chrome — прозрачное автоматическое обновление. Допустим, во время работы браузера обновилась какая-то разделяемая библиотека. Затем пользователь открывает новую вкладку, запускается новый процесс для рендеринга страницы. Если просто делать exec бинарника с диска, то новый процесс подхватит уже новую библиотеку, которая может быть несовместима с той, что была при старте основного процесса браузера. Чтобы этого избежать, при первом запуске Chrome запускает протопроцесс (зиготу), который затем будет ответвляться (fork) каждый раз, когда нужно запустить новый процесс рендеринга. Таким образом, все последующие копии будут иметь один и тот же набор библиотек, который был при запуске браузера. Сам процесс-зигота ничего не делает, просто висит в памяти и ждет команды, чтобы разделиться и дать жизнь новой вкладке.
- Renderer process
В системах на базе ядра Linux «Renderer process» порождается из «Zygote process», на других платформах он создается отдельно, в то же время он также является целевым процессом. «Renderer process» может существовать несколько, и они могут работать одновременно (в Chrome/Chromium, на одну вкладку один «Renderer process»). Другим важным свойством процесса является то, что он изолирован песочницей, поэтому любой потенциально опасный веб-сайт не может навредить системе. «Renderer process» является многопоточным. Он порождает следующие потоки: «I/O thread» (поток ввода-вывода), «Compositor thread» (поток композиции) и «Raster thread» (поток растеризации). Помимо основных обязанностей, связанных с песочницей (IPC песочницы, основной движок песочницы, диспетчер перехватов), данный процесс вызывает ScriptController и движок V8.
- Utility process
В системах на базе ядра Linux «Utility process» порождается из «Browser process». «Utility process» создается сразу после запуска браузера. Он выполняет необходимые инициализации и завершает работу после их завершения. Он инициализирует ResourceBundle, icu и V8 Engine. Он также занимается извлечением расширений. «Utility process» может появляться многократно во время работы браузера. Например, добавление нового расширения вызывает обращение к уже созданному «Utility process», который обрабатывает интеграцию нового расширения с браузером.
- GPU process
Пятый тип процесса, который следует упомянуть это процесс GPU. Он существует только в том случае, если аппаратное ускорение доступно в вашей системе. Этот процесс отвечает за общение с графическим процессором, его самой важной задачей является пересылка команд GL/GLES на графический процессор. Другие обязанности этого процесса: работа с шейдерами, текстурами, буфером.
Chromium
Компоненты распространяются под Apache License, BSD license, ICU License, LGPL, libjpeg license, libpng license, MIT License, MS-PL, MPL/GPL/LGPL, zlib license [1] .
Chromium (МФА ‘krəumɪəm , англ. chromium — хром) — веб-браузер с открытым исходным кодом, разработанный компанией Google [1] и предназначенный, по утверждению разработчиков, для предоставления пользователям быстрого, безопасного и надёжного доступа в Интернет, а также удобной платформы для веб-приложений [5] [6] . На основе Chromium создаётся браузер Google Chrome (при этом в рамках Chromium также доступны ранние пре-альфа версии [7] , в которых можно ознакомиться с новшествами, ещё не включёнными в состав Chrome), а также ряд других альтернативных веб-обозревателей [2] .
Содержание
История создания
Разработка веб-обозревателя началась 25 июля 2008 года [8] . 1 сентября 2008 года в официальном блоге Google Сандар Пичаи ( Sundar Pichai ) и Линус Апсон ( Linus Upson ) анонсировали браузер Google Chrome [5] . На следующий день состоялся выпуск первой публичной бета-версии браузера от Google, а также была опубликована большая часть кода браузера, лицензированного преимущественно под опциональной BSD-лицензией [9] , а также рядом других [1] . Проект получил название Chromium, намекая на то, что Google Chrome изготовлен из хрома. Разработчики Google объяснили создание открытого и свободного проекта Chromium стремлением помочь Mozilla и WebKit развивать Интернет и веб-технологии, предоставить разработчикам удобную платформу для создания и развития собственных проектов, а также возможностью протестировать свои собственные продукты силами сообщества [9] . Для взаимодействия с сообществом Google создал ряд сервисов: дискуссионные группы [10] , справочные форумы [11] , официальный блог проекта [12] , баг-трекер [13] . Также разработчики Chromium гарантировали, что будут всячески стремиться соединять собственные разработки и исправления с основной веткой разработки WebKit [9] . В марте 2011 года разработчики решили провести изменение логотипа браузера из 3D в 2D-представление [14] [15] .
Особенности
Скорость
Поставив своей целью разработать быстрый браузер, разработчики решили использовать открытые компоненты. Движком отображения веб-страниц был выбран свободный WebKit. Он обеспечивал необходимую скорость рендеринга, имея при этом ряд других преимуществ [16] [17] . С движком обработки JavaScript всё обстояло несколько сложнее. Все имеющиеся на момент 2008 года движки не обеспечивали необходимой производительности или распространялись по закрытым лицензиям. Поэтому инженеры Google написали с нуля скоростной, высокопроизводительный [18] [19] [20] [21] движок V8, что позволило Chromium стать на момент запуска веб-обозревателя одним из самых быстрых браузеров в плане обработки JavaScript. В конце 2009 года в тестовых сборках Chromium начались работы по внедрению аппаратного ускорения при обработке динамического содержимого. Результат работы проявился в 7 версии Chromium, где уже можно было включить аппаратное ускорение [22] [23] [24] , обеспечивая высочайшую производительность при обработке динамического 2D (Canvas) и 3D-контента (WebGL) с помощью графического процессора, показывая высокие результаты в демонстрационных тестах от Microsoft и Google [25] [26] [27] [28] [29] [30] . Для ускорения доступа к страницам используется технология предварительного чтения DNS [31] и предварительная отрисовка страниц (пререндеринг) [32] [33] . 7 декабря 2010 года Google анонсировала новый виток развития V8, разработав новую инфраструктуру компиляции кода. Новая технология под названием Crankshaft позволила добиться огромного прироста в производительности (порядка 109 %), обойдя все конкурирующие движки [34] [35] .
Безопасность

Согласно заявленным создателями Chromium стремлениям создать самый безопасный браузер, разработчики уделяют большое внимание внедрению новых функций по защите браузера. Для обеспечения безопасности в Chromium была выбрана модель «песочницы», позволявшая ограничить простор для атаки пользовательского компьютера через использованную уязвимость [36] . Исследователи Google пришли к выводу, что почти 70 % угроз «работают» в движке отображения, который взаимодействует с ненадёжным содержимым. Именно поэтому разработчики перевели всю работу движка в песочницу [
1] [37] [38] . На большинстве операционных систем Linux этот режим в браузере включен, однако некоторые неофициальные сборки Chromium дистрибутива Slackware отключают режим «песочницы» принудительно [39] . Тем не менее, на официально поддерживаемых Google Linux-системах, начиная с версии 23, Chromium использует возможности ядра для использования дополнительных компонентов, таких, как фильтры seccomp-bpf, позволяющие значительно ограничить потенциал использования злоумышленником специфичных вызовов ядра [40] . В сборке 66022 разработчики перенесли в «песочницу» (изменение касается систем под ОС Microsoft Windows) также исполнение подключаемого модуля Adobe Flash Player [41] [42] , который довольно часто становится объектом пристального внимания хакеров [43] . У Chromium нет действенной защиты от XSS-атак, но, благодаря тому, что Chromium поддерживает HTTP-Only cookies, опасность межсайтового скриптинга значительно снижается [44] . Также активно тестируется функция XSS Auditor, внедрённая в списке экспериментальных функций в 7 версии. Данный компонент значительно увеличивает защиту от межсайтового скриптинга. Впервые XSS Auditor был использован в 4 версии Chromium [45] , но в связи с многочисленными ошибками и падением производительности в версии 4.1 функция была отключена [46] . Проблему с производительностью и стабильностью разработчикам удалось разрешить, но функция до сих пор является экспериментальной, так как не все сайты способны с ней работать [47] . Также в 7 версии Chromium в качестве эксперимента появилась возможность надзора над подключаемыми модулями. Браузер получил возможность предлагать отключение тех плагинов, которые имеют незакрытые уязвимости до тех пор, пока не выйдет обновлённая версия модуля с исправлением ошибок [47] [48] [49] , окончательно функция стала доступна в 10 версии браузера [50] . Для обеспечения криптографической безопасности при работе с конфиденциальной информацией пользователей Chromium предоставляет возможность работать с защищённым протоколом передачи данных (HTTPS), которые могут упаковываться в соответствии с криптографическими протоколами SSL 3.0 и TLS 1.0. Для дополнительной защиты Chromium может использовать экспериментальный открытый протокол HSTS, позволяющий устанавливать с сайтами в форсированном режиме защищённое соединение [51] [52] . Часть настроек безопасности пользователь может регулировать сам. В Chromium встроен компонент Безопасный просмотр, обеспечивающий защиту от фишинга и вредоносного ПО [53] [54] [55] . Chromium при первом запуске в течение первых пяти минут загружает базы определений вредоносных и мошеннических сайтов, которые затем обновляет каждые 30 минут, при этом никакая личная информация в компанию Google не отправляется. Сам компонент может быть отключен в настройках браузера. [
2] [56] . Дополнительно Chromium позволяет проводить гибкую настройку содержания веб-страниц: редактировать политику запуска подключаемых модулей, использования JavaScript и cookies [
3] , а также проводить очистку конфиденциальных данных за определённый период [
4] [57] . Среди прочих механизмов защиты можно выделить:
- Спецификация HTML5 в виде Origin Header обеспечивает защиту от подделки межсайтовых запросов (CSRF) [52] , блокируя неправильные запросы сайтов.
- Chromium поддерживает X-Frame-Options API [58] , защищающий браузер от кликджекинга, а также X-Content-Type-Options API [59] , предоставляющий браузеру возможность защищаться от MIME-сниффинга [
При этом Google призывает пользователей при нахождении уязвимостей в браузере сообщать о них разработчикам, взамен получая денежные вознаграждения [61] .
Надёжность
В целях повышения стабильности для Chromium была выбрана мультипроцессная архитектура. Браузер, движок рендеринга, расширения, подключаемые модули работают в отдельных процессах. Таким образом, при нарушении работы, например, расширения браузер продолжит работу в обычном режиме, выдав предложение о перезапуске расширения [62] . У мультипроцессной архитектуры есть ещё ряд преимуществ, кроме стабильности [63] [64] :
- Возможность мгновенного освобождения памяти при закрытии одного из компонентов. В частности, при закрытии вкладки потреблявшаяся ею память освободится сразу, в отличие от браузеров, использующих однопроцессную архитектуру, где очищение памяти при закрытии вкладки идёт несколько дольше.
- Активное взаимодействие с операционной системой. При использовании большого числа вкладок многие вкладки могут простаивать в бездействии, несмотря на то, что они необходимы пользователю. Chromium, взаимодействуя с ОС, уменьшает потребление памяти, заставляя систему считать неиспользуемую вкладку свёрнутым приложением.
- Возможность понимания, какие ресурсы и в каком количестве выделяются каждому запущенному компоненту. Для того, чтобы пользователь мог точно разобраться в каждом процессе, в Chromium установлен собственный диспетчер задач и инструмент статистики about:memory .
Но при этом у подобной архитектуры есть существенный недостаток — бо́льшее общее потребление памяти [64] .
Поддержка веб-спецификаций
Chromium использует движок WebKit для отображения веб-страниц, благодаря чему Chromium обеспечивает широкую поддержку HTML 4.01, xHTML 1.0 (2 изд.), XML 1.0 (4 изд.), SVG (уровень поддержки в 6 версии оценён как Advanced+ [65] ), SVG Fonts, SVG Filters, SVG SMIL animation, MathML, ECMAScript, DOM, обеспечивая поддержку около 95% существующих рекомендованных стандартов [66] [67] . Разработчики же активно внедряют поддержку спецификаций HTML5, реализовав поддержку canvas , тегов <video>, <audio>, веб-приложений, геолокации, WebGL, Web SQL Database и ряда других активно разрабатываемых стандартов [68] . Также Chromium полностью проходит тесты CSS3 Selectors Test и Acid3 [68] .
Поддержка форматов
Браузер обеспечивает поддержку графических изображений JPEG (через Libjpeg), PNG (через Libpng), GIF, XBM [69] . В качестве альтернативного графического формата Chromium поддерживает разработанный компанией Google формат WebP, обеспечивающий лучшее качество при меньших размерах в сравнении с JPEG [70] [71] [72] . Поддержка аудио- и видеоформатов ограничена исключительно свободными форматами Ogv, OGG и WebM, при этом AAC и MP3 не поддерживаются [73] [39] .
Расширяемость

В декабре 2008 года Google объявила о начале работы по внедрению поддержки расширений в Google Chrome [74] [75] . Тестовой площадкой стал свободный браузер Chromium. В первых версиях Chromium 2 появилась возможность использовать расширения [76] [77] [78] . Расширения — небольшие программы, запущенные в браузере и добавляющие дополнительную функциональность, интеграцию с разнообразными веб-сервисами и ряд других особенностей. При написании расширений могут использоваться те же самые технологии, что и при написании веб-страниц, то есть HTML для создания разметки, CSS для стилизации и JavaScript для программирования. Учитывая, что новейшие версии Chromium обеспечивают поддержку HTML5 и CSS3, то разработчики могут пользоваться новейшими открытыми веб-технологиями, такими как canvas и CSS-анимации [79] .
Используя нативные API, расширения для Chromium могут взаимодействовать с закладками, предоставляя возможность создавать их и проводить над ними различные действия [80] ; контекстным меню, позволяя редактировать его содержимое [81] ; вкладками, позволяя сортировать их, изменять и проводить некоторые другие действия. [82] ; другими нативными API [83] , в том числе экспериментальными [84] . Из сторонних API есть возможность работать с DOM, HTML5 API’s, WebKit API и другими [85] .
Также для Chromium можно использовать кросс-браузерный NPAPI-модуль, позволяющий вызывать нативный бинарный код расширения через JavaScript [86] для обмена данными между системой и браузером. Большим недостатком использования расширений, написанных с помощью этого API, является безопасность. Расширения получают такие же права, которые имеет браузер, и через уязвимость в расширении злоумышленник может нанести вред системе [87] . Разработанные расширения можно выкладывать в официальной галерее расширений. Расширения, кроме использующих интерфейс NPAPI, не проходят предварительной проверки и сразу появляются в каталоге [88] . Все расширения хранятся в crx-формате, который является особо построенным ZIP-файлом, который можно распаковать большинством архиваторов (7-Zip, WinRAR и др.). Начиная с 19 августа 2010 года, согласно обновлённым политикам безопасности, разработчики должны выплатить взнос в размере 5$ для начала публикации расширений в каталоге. Разработчики, которые зарегистрировались до 19 августа, входной платой не облагаются и могут продолжать публиковать расширения в обычном режиме [89] . Расширения в Chromium могут обновляться сами, используя протокол Omaha [90] . Chromium имеет встроенную поддержку сценариев Greasemonkey, что существенно расширяет возможности браузера [91] [92] .
Персонализация
Летом 2009 года в Chromium 3 была внедрена поддержка тем [93] . Темы позволяли менять расцветку интерфейса браузера, согласно предпочтениям пользователя. В Linux-версии возможности персонализации оказались шире, так как темы могли использовать «родные» возможности интерфейса GTK+/GNOME [94] . Для удобства пользователей была создана специальная галерея [95] , содержащая темы от Google и сторонних авторов [96] .
Подключаемые модули

Chromium позволяет подключать к браузеру плагины, расширяющие возможности веб-обозревателя. В стандартной поставке на платформе Windows вместе с браузером идут:
- Default Plug-in — предоставляет возможность подключать сторонние плагины.
- GPU Plug-in — подключает возможность рендеринга Pepper 3D с помощью GPU. — плагин-компонент, позволяющий запускать приложения, использующие машинный код, в «песочнице».
В апреле 2009 года началось активное развитие плагина O3D, который должен предоставить API для создания мощных интерактивных приложений трёхмерной графики [97] . Разработчики планировали в дальнейшем внедрить открытый модуль в поставку Chromium, но в связи с развитием WebGL разработка плагина была заморожена, а часть наработок перенесена в спецификации WebGL [98] . В качестве дополнительных плагинов могут быть подключены Adobe Flash, Java, Silverlight, VLC Multimedia Plug-in, Adobe Reader и ряд других.
Безопасность
Плагины запускаются, согласно мультипроцессной архитектуре, в отдельных процессах, поэтому нарушить работу браузера они не способны [63] . Но из-за того, что подключаемые модули используют системные библиотеки, их исполнение было вынесено из «песочницы».
Приложения
![]()

19 мая на официальном блоге Chromium был анонсирован Chrome Web Store, в котором будет предоставлена возможность публиковать приложения [99] . Приложения являются интерактивными веб-сайтами, во многом похожими на расширения, но коренным отличием является то, что приложения можно продавать. Таким образом Google надеется привлечь крупных игроков, желающих извлечь выгоду из своих разработок [100] . Среди анонсированных приложений оказались: графический редактор и ряд игр. 7 декабря 2010 года на мероприятии Chrome Event разработчики браузера Chromium и Google Chrome объявили о запуске Chrome Web Store, в котором можно будет устанавливать веб-приложения, расширения и темы [101] [102] [103] [104] . При этом для удобства пользования браузером на сенсорных экранах в браузере разрабатывается специальная панель приложений, адаптированная под управление пальцем [105] .
Разработка приложений имеет примерно те же возможности, что и разработка расширений, но есть дополнительные возможности, как, например, запуск устанавливаемых приложений вне браузера [106] .
Синхронизация
Через google-аккаунт может синхронизировать, в том числе и с браузером Google Chrome (и другими браузерами на основе Chromium, имеющие ядро выше 5 версии), веб-приложения, автозаполнение форм (кроме данных кредитных карт), закладки, расширения, параметры браузера и темы [107] . Начиная с 9 версии браузера, Chromium умеет синхронизировать пароли, при этом эти данные передаются в зашифрованном виде при установке идентификационной фразы [108] .
Инструменты разработчика
Инструменты разработчика. Инструменты разработчика Chromium предоставляют интегрированное окружение для отладки, оптимизации и понимания устройства веб-приложений или сайтов, запущенных в Chromium. Инструменты разработчика частично разрабатываются в составе WebKit под названием Web Inspector. Среди функций стоит отметить обработку в реальном времени DOM и CSS, отладку JavaScript, использующую графический отладчик, анализ времени исполнения всех функций веб-приложений, исследование данных локальных хранилищ HTML5, а также ряд других функций [109] [110] [111] [112] [113] [114] .
Диспетчер задач [
6] . В диспетчере задач показываются все процессы, запущенные в Chromium, и используемые этими процессами ресурсы (память, процессор и сеть).
Другие инструменты. Браузер обладает дополнительными скрытыми инструментами для разработчиков и тестировщиков, позволяющих получить доступ к дополнительным экспериментальным функциям браузера [115] [116] , подробной информации о браузере, средствам мониторинга данных, а также к ряду других возможностей [117] .
Критика
Браузер в целом положительно воспринимается экспертами, которые отмечают более высокую скорость работы и меньшее потребление ресурсов по сравнению с Mozilla Firefox, а также обладает рядом преимуществ, недоступных конкурентам, такими как: веб-приложения, минималистичный интерфейс, удобная работа с вкладками и некоторые другие достоинства [118] [119] . При этом первые тестовые версии браузера для платформ Linux и Mac OS X подвергались критике из-за крайне нестабильной работы, недостатка функций, нерабочих инструментов разработчика и крупного ряда других недочётов [120] [121] [122] . Позднее Chromium стал объектом скандала, возникшего после выявления российским программистом Алексеем Ужвой доказательств того, что браузер, вопреки заявлениям Google, совершает недокументированные запросы на серверы Google [123] [124] . Разработчики признали дефект, объявили, что это ошибка, и удалили все следящие элементы [125] .
Отличия от Google Chrome
Зачастую возникает путаница между браузерами Chromium и Google Chrome [126] . Несмотря на схожесть, браузеры имеют ряд существенных отличий. Chromium является свободным веб-обозревателем с открытым исходным кодом, в то время как Google Chrome распространяется под собственной лицензией [127] и содержит ряд несвободных элементов. С подробностями можно ознакомиться в таблице [39] .
| Google Chrome | Chromium | |
|---|---|---|
| Логотип | Многоцветный с преобладанием тёплых цветов. | Многоцветный с преобладанием оттенков синего. |
| Отчёты об ошибках | Отправляются при включённой опции. | Не отправляются [128] . |
| Статистика | Отправляется при включённой опции. | Не отправляется [128] . |
| RLZ-идентификатор | Периодически отправляется [53] . | Не отправляется [128] . |
| Видео и аудио | Поддерживаются форматы WebM, Theora, MP3, AAC, Vorbis. | Поддерживаются стандартно только открытые и свободные форматы WebM, Theora, Vorbis. |
| Adobe Flash | Встроен. | Отсутствует. |
| Google Updater | Следит за обновлениями браузера, скачивает и устанавливает их при необходимости. | Отсутствует. В некоторых операционных системах браузер обновляется при помощи технологии пакетного управления (Ubuntu, Debian, ChromeOS и др.) |
| Модуль PDF | Встроен. | Отсутствует. |
| Качество и стабильность | Несколько каналов обновлений. Канал Stable тщательно тестируется. | Каналы обновлений полностью соответствуют каналам Chrome. Также доступны нестабильные ежедневные сборки. |
| Доступность бинарных пакетов | Постоянно обновляются. | Постоянно обновляются. |
Использование Chromium
Основную ветку Chromium (вне каналов Stable, Beta и Dev) можно расценивать как альфа-версию Google Chrome, она используется для «горячего» внедрения новых возможностей и функций [7] . При подобной политике использование браузера не рекомендуется для обычных пользователей, но в некоторых ОС, например, в Lubuntu и Joli OS, Chromium является браузером по умолчанию. В Windows существует ряд сторонних программ, позволяющих обновлять Chromium (например, свободный и открытый Chromium Updater [129] ) по двум каналам обновлений — стабильному (протестированные сборки для ежедневного использования) и нестабильному (свежайшие сборки Chromium). Использование стабильного канала Chromium позволяет избежать ошибок и падений браузера. При этом корпоративный сегмент также может использовать Chromium благодаря инструментам управления групповыми политиками [130] [131] [132] .
Chromium выпускается для операционных систем Microsoft Windows, начиная с XP SP2; Mac OS X, начиная с 10.5.6., и Linux (доступны также стабильные сборки Chromium), а именно, Arch Linux [133] , Debian [134] , Fedora [135] , Gentoo Linux [136] , openSUSE [137] , Ubuntu и производные (в Lubuntu встроен по умолчанию) [138] [139] , Maemo 5 (существует неофициальный порт полноценного Chromium на коммуникатор Nokia n900) [140] [141] и другие дистрибутивы [142] . FreeBSD официально не поддерживается, но доступен порт Linux версии, которая, однако, имеет некоторые функциональные недостатки в работе с расширениями [143] [144] . Вычислить точное количество пользователей браузера Chromium очень сложно, так как User Agent браузеров Google Chrome и Chromium совпадают. Согласно социальной сети Wakoopa аудиторию пользователей Chromium (около 87%) составляют пользователи ОС с ядром Linux [145] .
Приложения, основанные на Chromium
Кодовая база Chromium послужила основой для создания целого ряда альтернативных веб-обозревателей, имеющих ряд особенностей по сравнению с основной веткой развития:
Движок, который смог: как Chromium удалось захватить 90% рынка браузеров
От браузерного движка, который изначально был малоизвестной альтернативой, применявшейся в непопулярном браузере, до чемпиона, захватившего весь рынок.
Вероятно, иногда вы встречаете в текстах понятие браузерное разнообразие. Под ним подразумевается равновесие на платформе веба, при котором в мире существует множество реализаций браузеров, достаточное для стимулирования инноваций и конкуренции между ними. Альтернативой этому является монокультура браузеров, при которой один браузер или реализация браузера контролирует весь рынок, а значит, и управляет развитием веба. Когда кто-то содействует браузерному разнообразию, он часто делает это ради процесса создания независимых веб-стандартов, поддерживаемых W3C, который работает только когда ни один из браузеров не может диктовать функции, включаемые в платформу веба.
У веб-сообщества есть достаточно причин опасаться отсутствия браузерного разнообразия. После того, как Internet Explorer захватил в начале 2000-х долю 90% от рынка браузеров, для выпуска нового браузера его разработчикам потребовалась добрая половина десятилетия. В тот период развитие веба остановилось, и начали возникать проблемы с безопасностью. Из-за этого веб стал хуже, поэтому мы часто стремимся к тому, чтобы браузеры конкурировали, а не монополизировали веб.
Но у этой проблемы есть и обратная сторона. Из-за существования нескольких создателей браузеров веб-разработчикам необходимо обеспечивать совместимость всех платформ. Между браузерами могут присутствовать хоть и незначительные, но несоответствия, что может усложнять разработку для веба.
Это беспокоило создателя веба Тима Бернерса-Ли. Даже в начале 90-х, когда веб был очень юным, по всему миру в процессе экспериментов разработчиков ПО начали появляться десятки браузеров. Бернерса-Ли волновало, что слишком большое количество браузеров усложнит тестирование сайтов и достижение консенсуса о способах парсинга и передачи HTML пользователям.
В 1992 году Тим Бернерс-Ли высказал своё беспокойство в списке рассылки, посвящённом гипертексту.
Бернерс-Ли осознавал, что множественные реализации могут потребовать слишком много усилий со стороны веб-разработчика, поэтому разработчики могут испытывать искушение полностью избежать этой проблемы и проводить тестирование только в самом популярном браузере (он и не подозревал, что подобная проблема будет часто возникать в веб-разработке). То есть даже без монополии слишком большое количество браузеров может заполонить рынок и создать фактического победителя, относительно которого будут создаваться стандарты без учёта всех остальных. Обеспечение непротиворечивости всех реализаций браузеров стало причиной создания W3C и продвижения набора общих стандартов в веб-технологиях.
Озабоченность Бернерса-Ли имела основания. Иногда возникали ситуации, когда браузеры шли собственным путём, заставляя веб-дизайнеров изощряться, чтобы страницы выглядели везде одинаково. В последние годы устоявшийся процесс стандартизации во многом позволил решить проблему несоответствий между браузерами благодаря созданию чёткого процесса добавления новых возможностей веба, гарантирующего баланс в процессе принятия решений.
Фундаментальной основой для создания разнообразной группы браузеров является развитие совершенно разных браузерных движков. Браузерный движок — это программный код внутри браузера, который получает написанный вами код и рендерит его на странице. Если смотреть на более техническом уровне, то он парсит HTML, CSS и JavaScript для обработки структуры и рендеринга веб-страниц. Движок обычно включает в себя JavaScript-движок, обрабатывающий интерактивность. Чаще всего при обсуждении браузерного движка говорят и о связанном с ним JavaScript-движке, но так бывает не всегда.
До того, как разработчики браузеров начали использовать веб-стандарты, во время «войн браузеров», был длившийся десяток лет период доминирования браузера Internet Explorer компании Microsoft. В Internet Explorer использовался проприетарный браузерный движок Microsoft под названием Trident. Internet Explorer распространялся бесплатно и по умолчанию был установлен на всех компьютерах с Windows. Благодаря своей скорости распространения Trident на долгие годы стал наиболее широко используемым браузерным движком.
Однако вскоре начали набирать популярность несколько более мелких браузеров с открытым исходным кодом. Самым популярным из них был Mozilla Firefox (основанный на Netscape), в котором использовался движок под названием Gecko. Немного отставала от него Opera со своим браузерным движком Presto. А небольшому сообществу полюбился браузер Konqueror с движком KHTML, имевший крошечную долю рынка браузеров.
Исходный код всех этих браузерных движков, за исключением Presto, был открытым, то есть он был доступен любому и его можно было использовать в любом проекте. Это стимулировало совместный труд и здоровую конкуренцию между такими новыми браузерами, благоприятствовавшими процессу создания стандартов веба под управлением W3C. А благодаря открытости исходников на рынке появилось большое количество мелких, нишевых браузеров, построенных на основе тех же браузерных движков.
Примечательно отсутствие в этом списке Apple. В 2003 году казалось, что компания совершенно упустила из виду платформу веба. Она неудачно пыталась создать собственный браузер под названием Cyberdog. Без нативного для своей ОС браузера компьютеры Apple поставлялись с Internet Explorer, который привязывал их к одному из самых серьёзных конкурентов — к Microsoft.
Но затем начали циркулировать слухи, что Apple работает над новым браузером. В компанию пришло несколько ветеранов из Mozilla, от имени Apple внесших вклад в Mac-версию браузера Firefox с открытыми исходниками. А после первого провалившегося эксперимента инструменты и реализации стали намного лучше. Существовало уже много созревших решений на основе open source.
Изначально предполагалось, что Apple выберет в качестве браузерного движка Mozilla Gecko. У неё уже были нужные сотрудники и опыт работы с ним, к тому же этот движок использовался в подавляющем большинстве проектов браузеров, в том числе браузера для Mac под названием Camino, разработанного независимой командой, не относящейся к Apple. Некоторые считали, что Apple может выбрать Presto, заключив некий договор по лицензированию.
Стив Джобс завершил свою программную речь на Macworld 2003 долгожданным объявлением: Apple создаёт собственный браузер под названием Safari. И ко всеобщему удивлению, в нём будет использоваться движок из Konqueror. Не Gecko, не Presto. KHTML. Новость была громкой, и в следующие два десятилетия она изменила траекторию развития веба.

Браузер Konqueror, запущенный в среде рабочего стола KDE
Браузер Konqueror — это одно из множества приложений, являющихся частью среды рабочего стола KDE для компьютеров с Linux. Строго говоря, это не операционная система, а пакет программного обеспечения, выглядящий и ведущий себя как ОС. Аббревиатура изначально расшифровывалась как Kool Desktop Environment, но потом была сокращена просто до KDE. Konqueror — это одна из программ внутри KDE. А KHTML — это движок, на котором работает Konqueror. Как и сам Linux, вся KDE имеет открытый исходный код, в том числе и её браузер, а сообщество разработчиков с самого основания придерживалось принципов открытого программного обеспечения.
Именно поэтому важно, что в объявлении Apple присутствовал этот слайд:

В своём объявлении о выборе KHTML Apple заявила о приверженности идеям open source. Команда разработчиков Safari пообещала по возможности вносить сделанные ею изменения в проект KHTML. При адаптировании движка Apple разбила его на две части: WebCore, занимающийся рендерингом и структурой, и JavaScriptCore, занимающийся JavaScript. Обе этих части стали проектами с открытым исходным кодом, однако система отслеживания ошибок Safari и элементы браузерного движка остались закрытыми. И всё же такой уровень прозрачности был удивителен для компании, хорошо известной охраной своих секретов.
Первая публичная версия Safari была выпущена одновременно с объявлением, в январе 2003 года. Вскоре после этого Safari начал поставляться как стандартный браузер для всех Mac. В течение одного-двух лет Safari стабильно занимала два-три процента от рынка браузеров. Этого не было достаточно, чтобы доминировать, но придавало вес команде разработчиков из Apple.
Несмотря на обещание, данное сообществу open source, разработчикам Safari поначалу оказалось сложно портировать вносимые ими изменения обратно в проект KTHML. Часть кода была специфичной для операционной системы Mac. Другие части были просто несовместимыми с существующей кодовой базой. Это привело к небольшим разногласиям между командой Apple и соавторами KHTML, длившимся пару лет.
Со временем был найден устраивающий всех компромисс. В июне 2005 года Apple объединила JavaScriptCore, Webcore и остальные компоненты браузерного движка, выпустив их как единый проект open source с публичным баг-трекером и призывом участвовать в развитии. Таким образом компания показала сообществу KHTML, что готова к сотрудничеству, сохраняя при этом независимость кода.
Проект назвали Webkit.
Критически важным оказался выбранный момент. Веб как платформа ускоренно развивался и находился на этапе Web 2.0. В целом, Web 2.0 был просто красивым маркетинговым термином, попыткой дать название росту количества сложных приложений, существующих исключительно в вебе. В него вошли два самых первых веб-приложения Google — Google Maps и Gmail. В течение года Google добавила в этот список и YouTube.
В середине 2000-х годов инженеры Google пристально пригляделись к браузерам и обнаружили, что те неспособны удовлетворить потребность в создании сложных приложений. Особенно справедливо это было в отношении старых и необслуживаемых браузеров наподобие Internet Explorer (кстати, к стимулированию отказа пользователей от IE6 приложил руку и YouTube). Но основным приоритетом Google была скорость. Сооснователи компании однажды выразили желание создать «веб столь же быстрый, как перелистывание бумажного журнала». Такой стала цель компании, и Google чувствовала, что даже современные браузеры типа Firefox и Safari приближались к ней недостаточно быстро.
К 2006 году компания начала строить планы по созданию собственного браузера. Она хотела иметь самый быстрый на рынке браузер. Поэкспериментировав со множеством браузерных движков, разработчики Google обратили внимание на проект Webkit, который перешёл в open source. Его код был компактным и читаемым, а ресурсоёмкость оставалась относительно низкой по сравнению с движками с богатой историей наподобие Gecko или Trident (последний в любом случае не рассматривался из-за закрытости своих исходников). Но, что самое важное, он был быстрым. Как отправная точка он был быстрее всех остальных движков.
Если бы команда Safari не решила открыть исходники своего браузерного движка именно в этом время, история могла бы развиваться совершенно в ином направлении. Но разработчики поступили так, поэтому Google изучила эту возможность и решила использовать движок. В следующую пару лет она начала работать над новой, ещё более быстрой реализацией Webkit.
Её первым шагом стало избавление от JavaScriptCore и замена его на собственный JavaScript-движок под названием V8, названный в честь мощного поршневого двигателя. Как можно понять из названия, V8 был быстрым. На момент выпуска он оказался в десять раз более производительным, чем JavaScriptCore. Он добился этой скорости благодаря работе в виртуальной машине и немного иному способу исполнения кода, делавшему его модульным и независимым от остальной части браузерного движка. Кстати, спустя пару лет эта модульность обеспечила возможность создания языка программирования Node: его разработчики взяли движок V8, избавились от браузера и поместили его на сервер.
Второе, что сделала Google — добавила в свой браузер многопроцессную архитектуру. О многопроцессности можно сказать многое, но лучше всего её объяснить на примере вкладок браузера. Раньше с «вылетом» одной вкладки аварийно завершалась работа всего браузера. Однако Google удалось заставить выполняться процессы в каждой вкладке независимо, чтобы за раз «вылетала» только одна вкладка. После выпуска браузера это стало его основным привлекательным качеством. Кроме того, это оказалось важным решением, потому что стало серьёзным отходом от того, как Webkit работал ранее. Вскоре это решение ещё аукнется компании.
В сентябре 2008 года Google официально объявил о проекте своего браузера публике. Компания совместила объявление с нердовским веб-комиксом Скотта Макклауда, в котором подробно описывались все технические подробности проекта. Браузер мог обрабатывать веб-сайты быстрее всех на рынке, а благодаря своей многопроцессной архитектуре был способен сохранять активность страниц, даже когда зависал какой-нибудь другой сайт. Это было в те времена, когда браузеры до сих пор были перегружены панелями инструментов и аддонами, а также пакетами больших компаний, в которые была включена и почта. Имя, данное Google этому проекту, тоже соответствовало концепции. В мире браузеров под понятием «хром» (chrome) подразумевается всё дополнительное, что окружает веб-страницу — адресная строка, панели инструментов и файловые меню. Google избавилась от большинства этого хлама, поэтому и назвала браузер Google Chrome, надеясь, что ставка на простоту и производительность оправдает себя.

Фрагмент веб-комикса, с которого всё началось
Если не считать закрытого алгоритма поиска, Google многие годы делала вклад в проекты с открытым кодом и создавала новые. Поняв урок Apple, компания при разработке Chrome зашла ещё дальше. В тот же день, когда было объявлено о выпуске Google Chrome, компания сделала весь движок доступным как open-source-проект под названием Chromium. Это не просто несколько расширений для Webkit. Это не просто движок рендеринга. Открытым стало всё: Webkit, JavaScript-движок V8 и весь код самого браузера. Без особых усилий любой разработчик мог дополнить Chromium и выпустить собственный браузер. После его выпуска со многими браузерами так и случилось.
2008-й стал важным годом для веба. В том же месяце, когда был выпущен Chrome, Google показала прототип своей мобильной операционной платформы Android, собранной из нескольких проектов с открытыми исходниками. В него входила и мобильная версия Google Chrome. Это произошло чуть более года спустя официального выпуска iPhone, который поставлялся с модифицированной версией Safari. К тому времени, когда Стив Джобс приступил к безвозвратному «убийству» Flash и начал превращать в основной приоритет нативную платформу веба, эти устройства уже были повсюду.
То есть теперь в каждом мобильном смарт-устройстве работал Safari или Chrome. Сама Safari целиком благодаря покупкам iPhone всего за несколько лет удвоила свою долю на рынке. Популярность Chrome росла ещё быстрее. Используя Chromium, вы получали доступ к постоянно расширяющемуся списку независимых браузеров и браузерных проектов. Кроме того, Chromium стал основой языка программирования Node и фреймворка для десктопных приложений Electron.
И все эти проекты работали благодаря Webkit. За несколько лет он совершил путь от захвата небольшой доли рынка браузеров до доминирования на нём.
Такое состояние покоя было недолгим. В апреле 2013 года Google неожиданно объявила, что создаст ответвление (форк) проекта Webkit в новый движок под названием Blink. Google Chrome и проект Chromium будут переходить на этот новый движок.
У такого перехода было несколько причин, но важнейшая из них возвращает нас к вопросу многопроцессности. Несколько лет Google расширяла Webkit, чтобы добавить в свои браузеры многопроцессность, ставшую важнейшей особенностью и основанием роста производительности браузеров Chromium. В 2013 году проект Webkit должен был выпустить новую версию движка, которая улучшала в том числе и многопроцессность. Проблема заключалась в том, что её реализация стала бы совершенно другой и несовместимой с реализацией в Chrome. В нём уже использовался другой JavaScript-движок и это новое изменение слишком сильно бы отодвинуло Chromium от исходного проекта. Ядром Blink по-прежнему должен был оставаться и остаётся Webkit. Но он пойдёт по другому пути и создаст себе новый проект.
На этом этапе веб стал более сложным, чем кто-либо мог себе представить. Проблема, которую впервые изложил Бернерс-Ли — слишком большое количество независимых разработчиков, создающих собственные браузерные движки — больше не была проблемой. Для сборки и поддержки браузерного движка теперь требовались большие коллективы. С расширением платформы веба и укрепления его стандартов сложность рендеринга веб-сайта в страницу росла экспоненциально. Браузер должен был исполнять бесчисленное количество сайтов, закодированных бесчисленным количеством способов так, чтобы более-менее соответствовать всем остальным браузерам.
После этого момента браузерные движки начали исчезать.
За два месяца до выпуска Blink компания Opera объявила, что откажется от собственного движка Presto и перенесёт свой браузер на Chromium. Когда Google объявила о форке, Opera присоединилась к ней. В мае 2013 года она выпустила свой первый браузер на основе Blink.
Тем временем Microsoft многие годы придерживалась собственного движка с закрытым исходным кодом. Trident был преобразован в движок под названием EdgeHTML, созданный для браузера Microsoft Edge, впервые выпущенного в 2015 году. Но вкладывание ресурсов в разработку независимого движка оказалось слишком сложной задачей на уже заполненном рынке браузеров. В 2019 году компания объявила, что тоже переходит на Blink. С тех пор этот браузер тоже выпускается.
Потомков KHTML, то есть браузеры, имеющие движки из семейства Blink / Webkit, используют более 90% пользователей. От практического забвения до доли рынка в 90% за пятнадцать лет — потрясающее достижение. И оно имело последствия.
Blink и Webkit — это два разных движка, и в их исходном коде стало довольно много различий. Но они используют одинаковый подход к рендерингу веб-страниц, а бо́льшая часть кода внутри проекта остаётся такой же. Это означает, что на текущем этапе, по сути, осталось две группы браузерных движков — семейство Blink / Webkit и Gecko браузера Firefox. Даже если разделить Blink и Webkit, то всё равно остаётся только три.
И это возвращает нас к вопросу браузерного разнообразия. Инновации в браузерных технологиях не исчезли, и, к счастью, каждый серьёзный браузер привержен процессу стандартизации веба. Однако если сообщество Blink и Webkit решит, что оно хочет двигать веб в определённом направлении, то будет обладать всей необходимой для этого властью. Это справедливо даже сегодня, несмотря на то, что Gecko всё ещё держится.
Джеффри Зельдман хорошо резюмировал это в момент, когда Microsoft решила переходить на Blink:
С исторической перспективы траектория развития Webkit является настоящим чудом. И оно возникло благодаря открытости и поддержке сообщества. Но столь же важно поддерживать браузерное разнообразие и возможности инноваций.
В этом посте рассказано о пяти вехах истории развития веба.
- 3 апреля 2013 года. Создание Blink как форка проекта Webkit. Движок рендеринга Blink используется в браузерах на основе Chromium, в том числе и в Google Chrome. Фундамент его кодовой базы был заложен Webkit, но он обрабатывает многопроцессные задачи и содержит JavaScript-движок V8.
- 2 сентября 2008 года. Google выпускает собственный браузер Chrome, основной задачей которого является скорость. Его имя позаимствовано у рамки браузера, которую Google удалось значительно упростить. Всего за несколько месяцев он завоевал десятки миллионов пользователей, а в начале следующего десятилетия захватил рынок.
- 7 июня 2005 года. Webkit — Apple открывает исходный код своего браузерного движка, состоящего из двух основных компонентов: движка рендеринга WebCore и JavaScript-движка JavaScriptCore. Хотя в то время он использовался только Apple, вскоре благодаря внедрению компанией Google и применению на мобильных устройствах движок Webkit вскоре стал самым популярным.
- 7 января 2003 года. Safari — Apple выпускает свой второй браузер, и попытка оказалась успешной. Он позволил продавать компьютеры Mac с нативным браузером и завершить взаимоотношения с Internet Explorer компании Microsoft. В нём используется малоизвестный браузерный движок с открытым кодом под названием KHTML, который со временем превратится в Webkit.
- 23 октября 2000 года. Konqueror — в проект KDE включён новый браузер под названием Konqueror и выпущена его версия 2. Как и KDE в целом, Konqueror имеет открытый исходный код и поддерживается активным сообществом. Движок, лежащий в его основе, со временем станет фундаментом для Apple Safari и Google Chrome.
Источники
- Mike Taylor. «Mike Taylor – A case for browser-engine diversity… – View Source 2019.» Mozilla Developer. November 11, 2019.
- Alphonse Eylenburg. «Historical market shares of browsers.» Maps and Tables. January 1, 2019.
- Apoorva Dutt. «How Google CEO Sundar Pichai used OKRs to build the world’s most popular web browser.» Tech in Asia. August 8, 2018.
- Nathan Willis. «WebKit, Blink, and the big split.» LWN. September 9, 2013.
- Adrian Kingsley-Hughes. «The real reason why Google forked WebKit.» ZDNet. April 4, 2013.
- «Blink: A rendering engine for the Chromium project.» Google Open Source Blog. April 4, 2013.
- Aaron Andersen. «History of the browser user-agent string.» WebAIM. September 9, 2008.
- Ryan Paul. «Google unveils Chrome source code and Linux port.» Ars Technica. September 9, 2008.
- Troy Unrau. «The unforking of KDE’s KHTML and Webkit.» Ars Technica. July 7, 2007.
- Clint Ecker. «Ars at WWDC: Interview with Lars Knoll, creator of KHTML.» Ars Technica. June 6, 2007.
- Daniel Molkentin. «Apple Opens WebKit CVS and Bug Database.» KDE.news. June 6, 2005.
- «Apple Releases Safari 1.0.» Apple Newsroom. June 6, 2003.
- Doc Searls. «Surprise: Apple’s New Browser Is a Sister to Konqueror.» Linux Journal. January 1, 2003.
На правах рекламы
Наша компания предлагает безопасные серверы с бесплатной защитой от DDoS-атак. Возможность использовать лицензионный Windows Server на тарифах с 2 ГБ ОЗУ или выше, создание резервных копий сервера автоматически либо в один клик.
Используем исключительно быстрые серверные накопители от Intel и не экономим на железе — только брендовое оборудование и одни из лучших дата-центров в России и ЕС. Поспешите проверить.
Blink (Rendering Engine)
Make the Web the premier platform for experiencing the world’s information and deliver the world’s best implementation of the Web platform.
What is Blink?
Blink is the name of the rendering engine used by Chromium and particularly refers to the code living under src/third_party/blink.
Participating
Chromium is an inclusive open-source community that values fostering a supportive culture.
Discussions
We value transparency and open collaboration. Our goal is for everyone to be able to participate, regardless of organizational affiliation. There are several areas where developer discussions take place:
-
is the general list for discussions relevant to the design and implementation of web platform features.
- Technical Discussion Groups — Groups dedicated to the discussion of specific areas of the codebase.
- Slack (#blink): We hang out on the #blink channel on chromium.slack.com to have quick, informal discussions and answer questions.
Reporting Issues
We use Chromium’s issue tracker (aka crbug.com). Web Platform issues live under components in Blink and Internals.
Tracking features
For developers interested in tracking new features, there are several dedicated channels for staying up-to-date:
-
: For each new Chrome Beta release (
Developing
Learning about Blink Development
Blink is implemented on top of an abstract platform and thus cannot be run by itself. The Chromium Content module provides the implementation of this abstract platform required for running Blink.