Рубрика «chromium»

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

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

Microsoft разрабатывает браузер на базе Chromium, который будет поставляться по умолчанию вместо Edge - 1
Конец многолетнему противостоянию, хотя скорее это было избиение

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

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

Как мы перевели работу с HTML в 1С:Предприятии с Internet Explorer на WebKit

Возможность отображать HTML в формах 1С появилась в платформе 1С:Предприятие еще в версии 8.0 (выпущена в 2003 г.). Для работы с HTML в платформе использовался движок браузера Internet Explorer (1С:Предприятие на тот момент работало только под Windows). Движок браузера использовался платформой для утилитарных целей. Например, писать с нуля полноценный элемент для редактирования текста а-ля Word – с возможностью различных цветовых и шрифтовых решений, вставки картинок и т.д. – весьма непростая задача. А если задействовать для этих целей HTML и использовать в качестве средства отображения движок интернет-браузера, то задача сильно упрощается. Также при помощи движка был реализован ряд других механизмов (например, отображение справочной информации) и элементов (например, Планировщик).

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

Время шло, платформа стала поддерживать сначала Linux, а потом и macOS. Для работы с HTML в этих ОС Internet Explorer не подходил по понятным причинам; в Linux нами был задействован WebKitGTK+, а в macOs — библиотека на основе Cocoa. Таким образом, единство кодовой базы для разных ОС (которое мы стараемся поддерживать для клиентского кода на уровне 95%) в этой области было нарушено. Ну и движок IE к этому времени стал источником ряда проблем.
image
Читать полностью »

Мой любимый файл в кодовой базе Chromium - 1Код Хромиума весьма обширен, там каждому найдётся что-то по вкусу. А я вот решил рассказать о своём любимом файле в нём (а у вас есть такой?). Этот файл отражает всё: боль, разочарование, надежду, упорство, силу воли, ответственность за чужие провалы и самопожертвование. Я иногда читаю его и плачу и проникаюсь пониманием, какая же огромная часть айсберга скрыта под водой. Это, в общем, даже не файл с кодом. Это файл с конфигом, описывающим баги видеокарт, которые Хромиуму приходится обходить для нормального отображения своих страниц на разных платформах. Вот он: https://cs.chromium.org/chromium/src/gpu/config/gpu_driver_bug_list.json

О чём вообще идёт речь? Давайте вспомним, как работает браузер: вы набираете какой-то адрес в адресной строке, браузер загружает контент и отображает его. Чуть детальнее об этом рассказывает хорошая статья «What happens when you type google.com into your browser and press enter?» (и сразу несколько её переводов на Хабре). В ней одним из последних пунктов упоминается, мол, «а теперь, когда всё готово, отрисовываем картинку на экране». Ага, вот так берём и отрисовываем, конечно.
Читать полностью »

Когда браузерам не хватает памяти, они выгружают из нее наиболее старые вкладки. Это раздражает, потому что клик по такой вкладке приводит к принудительной перезагрузке страницы. Сегодня мы расскажем читателям Хабра о том, как команда Яндекс.Браузера решает эту проблему с помощью технологии Hibernate.

Браузеры, основанные на Chromium, создают по процессу на каждую вкладку. У этого подхода множество достоинств. Это и безопасность (изоляция сайтов друг от друга), и стабильность (падение одного процесса не тянет за собой весь браузер), и ускорение работы на современных процессорах с большим количеством ядер. Но есть и минус – более высокое потребление оперативной памяти, чем при использовании одного процесса на всё. Если бы браузеры ничего с этим не делали, то их пользователи постоянно видели бы что-то подобное:

Как сэкономить память на вкладках браузера, но не потерять их содержимое. Опыт команды Яндекс.Браузера - 1

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

Также в Chromium уже достаточно давно работают над тем, чтобы останавливать JS-таймеры в фоновых вкладках. Иначе очистка кэшей теряет смысл, т.к. активности в фоновых вкладках их восстанавливают. Считается, что если сайты хотят работать в фоне, то нужно использовать service worker, а не таймеры.

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

image

Привет Хабр, ранее, в своем блоге по безопасности, мы объявили о планах по снижению доверия Chrome к сертификатам Symantec (включая принадлежащие Symantec бренды, такие как Thawte, VeriSign, Equifax, GeoTrust и RapidSSL). В этом посте описывается, как владельцы сайтов могут определить, повлияет ли на них снижение доверия к сертификатам Symantec, и если да, то что нужно сделать и когда. Отказ от замены этих сертификатов приведет к поломке сайта в будущих версиях основных браузеров, включая Chrome и Firefox.

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

Отладка утечек памяти в Chrome 66 стала гораздо удобней. DevTools теперь могут проводить трассировку, делать снапшоты DOM-объектов из C++, отображать все доступные DOM-объекты из JavaScript вместе со ссылками на них. Появляение этих возможностей стало следствием нового механизма трассировки C++ в сборщике мусора V8.

Напомню, что стабильный Chrome сейчас (20.03.2018) имеет версию 65, поэтому чтобы подивиться на фичу, придётся установить одну из нестабильных сборок (например, Beta имеет версию 66, а Dev и Canary — 67).

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

31 февраля

Сейчас я изучаю отчёт очередной проверки проекта Chromium и используемых в нём библиотек, с помощью анализатора кода PVS-Studio. По итогам проверки у меня намечается цикл статей, посвященный разбору некоторых видов ошибок, и тому, как их можно избежать. Однако, одна ошибка так сильно понравилась, что я решил не откладывать её описание, а сразу написать маленькую заметку в блог.
Читать полностью »

На любой операционной системе часто не хватает оперативной памяти. Рассмотрим, как и сэкономить на увеличении аппаратных ресурсов машины с Linux, и продолжить более-менее комфортно пользоваться компьютером с Linux в условиях нехватки памяти.
Читать полностью »

Как ни странно, но только 1% пользователей браузера используют специализированные расширения для хранения паролей (LastPass, KeePass, 1Password, ...). Безопасность паролей всех остальных пользователей зависит от браузера. Cегодня мы расскажем читателям Хабрахабра, почему наша команда отказалась от архитектуры защиты паролей из проекта Chromium и как разработала собственный менеджер паролей, который уже тестируется в бете. Вы также узнаете, как мы решили проблему сброса мастер-пароля без расшифровки самих паролей.

Как мы создавали менеджер паролей со стойкой криптографией и мастер-паролем. Опыт команды Яндекс.Браузера - 1

С точки зрения безопасности, на каждом сайта рекомендуется использовать свой уникальный пароль. Если злоумышленники украдут один пароль, то только к одному сайту они и получат доступ. Проблема в том, что запомнить десятки надёжных паролей очень сложно. Кто-то честно придумывает новые пароли и записывает их руками в блокнот (а потом теряет вместе с ним же), другие – используют один и тот же пароль на всех сайтах. Трудно сказать, какой из этих вариантов хуже. Решением проблемы для миллионов обычных пользователей может быть встроенный в браузер менеджер паролей, но его эффективность зависит от того, насколько он прост и надёжен. И в этих вопросах у предыдущего решения были пробелы, о которых мы и расскажем ниже.

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