• Chrome 70 поддерживает [список фич] и AV1 – почему поддержка этого кодека так важна?

    • Перевод
    69-я версия Chrome была большииииим обновлением, т.к. показала новый интерфейс для десктопной и мобильной версий. Chrome 70 не столь радикален, но его новые фичи весьма важны. Мы сделали адаптированный перевод и добавили материал про самое, на наш взгляд, важное в новой версии – поддержку кодека AV1, который задает новую планку производительности. Пока что кодек будет использоваться только при воспроизведении видео, но мы надеемся, что он доберется и до WebRTC – это даст нам возможность использовать передовое кодирование в видеозвонках и конференциях (например, используя наш Web SDK).


    Читать дальше →
  • RKN Alert — база Роскомнадзора у вас в браузере

      Как и все, я пользуюсь одним из простых способов обхода блокировок, коих сейчас море. Все сайты открываются без проблем и тормозов. Но с недавних пор (2 недели назад) у меня встал вопрос: а какие сайты на самом деле заблокированы из тех, что открываются, а какие нет? Каждый сайт проверять вручную на официальном сайте РКН — не вариант, хоть это и самый надёжный способ. Естественно, я пошёл гуглить подходящие инструменты, но к великому удивлению ничего не нашёл.
      Читать дальше →
    • Интеграция HTML движка в нативное Windows приложение – выбор и архитектура

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

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

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

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

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


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

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

          Пару лет назад, заметил, что на всех новостных сайтах, можно сказать ни дня не проходило без новостей про блогеров: у таких-то блогеров конфликт или блогеры в госдуме. Блогер такой-то «какое-то новое имя» и как обычно ,«самый, самый» блогер из всех остальных блогеров. При этом, редко когда пишут критерии, почему он «самый, самый», чтобы читающий посмотрел ролики или поискал в интернете, что в очередном блогере «самого, самого». Блогеры вводят новое слово «зашквар», блогеры ополчились на того-то, блогеры делают своё шоу.

          Последний год про блогеров новостей стало меньше, лидер нынче «Б… ва», специально не упоминаю, есть риск превратить статью в очередную новость про «Б… ву», и так каждый день новая новость. Журналисты, зачастую, игрой слов в заголовке буквально заставляют перейти по ссылке.
          Читать дальше →
        • В Google Chrome добавят возможность отказа от автоматической синхронизации профиля при логине в сервисах компании*

            *Эта функция была введена с версией 69 и вызвала неоднозначную реакцию сообщества. Исправление выйдет только с патчем 70 в середине октября.

            Один из главных скандалов вокруг Google за последнюю неделю связан с незаметной, но потенциально крайне неприятной функции автоматического подключения профиля пользователя Chrome после логина на любом из ресурсов компании. При этом Cookies, связанные с гугло-сервисами, невозможно удалить средствами браузера даже через расширенные настройки браузера.


            Новая «особенность» Chome появилась с последним обновлением до версии 69, которая кроме значительных визуальных изменений привезла аудитории еще и «новый UX» в плане логина. Большинство пользователей не отключает использование Cookies, предпочитая безопасности комфорт, однако в неприятном положении оказались люди более сознательные, а также все те, кому надо войти в свою Google-почту или аккаунт YouTube на чужих машинах с последующей очисткой истории браузера.
            Читать дальше →
          • Google Chrome 69 автоматически входит в аккаунт и не стирает cookies Google при очистке истории

              Компания Google выпустила браузер Chrome 69 в сентябре 2018 года. Он получил обновлённый дизайн и улучшенный менеджер паролей, а так же ряд других функций, не все из которых пришлись по вкусу пользователям.

              image
              Иллюстрация howtogeek.com

              Исследователь криптографии, Мэтью Грин, обратил внимание, что с недавних пор Google внес изменения в Chrome, которое существенно изменило пользовательский опыт, связанный с авторизацией в сервисах поисковика. С этого момента каждый раз, когда вы успешно входите в любой сервис Google (например, Gmail), сам браузер Chrome также автоматически авторизовывается с вашей учетной записью Google.

              image

              По утверждениям разработчиков браузера это не приведет к автоматическому запуску синхронизации локальных данных экземпляра браузера с аккаунтом Google, по крайней мере пока что, но Метью Грин все равно считает это опасным прецедентом.

              We want to be clear that this change to sign-in does not mean Chrome sync gets turned on. Users who want data like their browsing history, passwords, and bookmarks available on other devices must take additional action, such as turning on sync.

              Одновременно с выходом критической статьи Метью Грина пользователь твиттера Кристоф Таван обнаружил, что Chrome начиная с версии 69 по-умолчанию больше не стирает куки Google при полной очистке истории браузера. Таким образом, в случае необходимости сохранить свою приватность становиться сложнее, например, если вы авторизовались в сервисах Google не за своим обычным компьютером.

              Читать дальше →
            • Мой любимый файл в кодовой базе Chromium

                Код Хромиума весьма обширен, там каждому найдётся что-то по вкусу. А я вот решил рассказать о своём любимом файле в нём (а у вас есть такой?). Этот файл отражает всё: боль, разочарование, надежду, упорство, силу воли, ответственность за чужие провалы и самопожертвование. Я иногда читаю его и плачу и проникаюсь пониманием, какая же огромная часть айсберга скрыта под водой. Это, в общем, даже не файл с кодом. Это файл с конфигом, описывающим баги видеокарт, которые Хромиуму приходится обходить для нормального отображения своих страниц на разных платформах. Вот он: 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, создают по процессу на каждую вкладку. У этого подхода множество достоинств. Это и безопасность (изоляция сайтов друг от друга), и стабильность (падение одного процесса не тянет за собой весь браузер), и ускорение работы на современных процессорах с большим количеством ядер. Но есть и минус – более высокое потребление оперативной памяти, чем при использовании одного процесса на всё. Если бы браузеры ничего с этим не делали, то их пользователи постоянно видели бы что-то подобное:



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

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

                  Читать дальше →
                • Google хочет убить URL

                  • Перевод


                  В начале сентября браузеру Google Chrome исполнилось 10 лет, и за свою короткую жизнь он ввёл множество радикальных изменений в веб. Отдел безопасности Chrome любит сражаться с большими и концептуальными проблемами, от популяризации автоматических обновлений до агрессивного продвижения HTTPS-шифрования. Такое влияние и такой размах могут приводить к разделению мнений; и пока Chrome планирует свою работу на следующие десять лет, команда обдумывает наиболее дискуссионную инициативу из всех: фундаментально поменять работу URL по всему вебу.

                  Единый указатель ресурса (Uniform Resource Locator, URL) – это знакомый вам веб-адрес, который вы используете ежедневно. Эти адреса перечислены в адресной книге DNS, и они перенаправляют браузеры к правильным адресам интернет-протокола (IP), которые помогают различать и определять веб-серверы. То есть, вы переходите по адресу habr.com и читаете Хабр, не заморачиваясь со сложными протоколами роутинга и последовательностями цифр. Но со временем URL становились всё более и более сложными для чтения и понимания. С расширением функциональности сети URL всё чаще превращаются в неразборчивые строки из всякой мешанины, комбинирующие компоненты посторонних сервисов или маскирующиеся за укорачивателями ссылок и схемами по переадресации. А на мобильных устройствах вообще нет места для показа URL целиком.
                  Читать дальше →
                • Вышел Chrome 69 с генератором случайных паролей


                    Chrome DevTools в 2018 году

                    К десятилетию Chrome компания Google выпустила масштабное обновление — Chrome 69 с обновлённым интерфейсом, новым менеджером-генератором случайных паролей, ответами в «омнибоксе» без захода на поисковый сайт, поиском вкладок (если у вас открыто много вкладок и вы хотите найти нужную) и другими изменениями. К сожалению, новая версия не стала таким праздником, на какой рассчитывали создатели.
                    Читать дальше →
                  • Автор расширения BetterSlack отзывает его по требованию юристов Slack



                      Разработчик BetterSlack объявил об отзыве своего расширения к Chrome, улучшающего функциональность веб-версии Slack. Это произошло всего через несколько дней после анонса первой версии, а причиной стало письмо из юридического отдела Slack.

                      Уругвайский программист Гервасио Маршан (Gervasio Marchand) публикует текст письма из юридического отдела. Там говорится, что расширение нарушает ряд положений из Политики приемлемого использования Slack. В частности, правила запрещают «попытки обратной разработки (реверс-инжиниринга), декомпиляции, взлома, отключения, помех в работе, дизассемблирования, модификации, копирования, изменения функциональности, целостности и порядка оказания услуг» со стороны любых третьих лиц.
                      Читать дальше →
                    • Микрофоны, скриншаринг и локальное видео: как Voximplant Web SDK управляет медиа в браузере


                        Сегодня я раскажу про модуль Hardware в Voximplant Web SDK. Этот модуль пришел на смену старой системе управления аудио- и видеоустройствами. Но сначала – немного об управлении устройствами в WebRTC-стеке и зачем все это нужно.

                        Редко, но у конечных пользователей бывает несколько микрофонов. Или бывает несколько динамиков: например обычные динамики и bluetooth-наушники; или динамик телефона и громкая связь для смартфона.

                        А вот две камеры в современном мире бывают очень часто. На планшетах и телефонах: обычная и фронтальная. На ноутбуках: встроенная и получше внешняя. И так далее и тому подобное. Пользователь может сильно растроиться, если по дефолту будет выбран не тот набор устройств и он никак не сможет их изменить. Это первое применение управлению медиа в WebRTC.

                        Второе применение — это тонкие настройки аудио и видео. Всякие эхоподавления, шумоподавления, установка разрешения видео, фреймрейта, баланс белого и прочего, что конкретно ваш браузер поддерживает.
                        Читать дальше →
                      • Хакер нашёл способ следить за посетителями сайтов конкурентов



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

                          Распространённый паттерн: открыть страницу поиска в Google и щёлкать по разным результатам в поисках нужной информации. Можно открыть десятки отдельных вкладок или ходить на каждый сайт по очереди, возвращаясь затем на поисковую выдачу (кнопка Back в браузере). Специалист по поисковой оптимизации Дэн Петрович из австралийской компании Dejan Marketing придумал, как эксплуатировать этот паттерн с выгодой для себя и получить обширную статистику посещений сайтов конкурентов, лишив их трафика.

                          Схема показана на иллюстрации вверху. Перехватывая трафик конкурентов, специалист получает возможность:

                          • генерировать теплокарты чужих сайтов (клики, переходы, глубина прокрутки)
                          • записывать реальные сессии (движения мыши, нажатия клавиатуры)
                          • получать весь текст из заполненных форм, в том числе форм для заказа товаров
                          Читать дальше →
                        • 24-ядерный CPU, а я не могу набрать электронное письмо

                          • Перевод
                          Я не искал неприятностей. Не запускал процесс сборки Chrome тысячу раз за выходные, а только занимался самыми обычными задачами 21-го века — просто писал электронное письмо в 10:30 утра. И вдруг Gmail подвис. Я продолжал печатать несколько секунд, но на экране не появлялось никаких символов. Затем внезапно Gmail отвис — и я вернулся к своему очень важному письму. Но впоследствии всё повторилось, только на этот раз Gmail ещё дольше не отвечал запросы. Это странно

                          Трудно устоять перед возможностью провести хорошее расследование, но в данном случае вызов особенно силён. Ведь я в Google работаю над улучшением производительности Chrome для Windows. Обнаружить причину зависания — моя работа. И после множества фальстартов и тяжёлых усилий мне всё-таки удалось выяснить, как Chrome, Gmail, Windows и наш IT-отдел вместе помешали мне набрать электронное письмо. По ходу дела нашёлся способ сэкономить значительное количество памяти для некоторых веб-страниц в Chrome.

                          В расследовании оказалось так много нюансов, что я оставлю некоторые для другой статьи, а сейчас полностью объясню причины подвисаний.
                          Читать дальше →
                        • Какие видеокодеки (не) используют браузеры для видеозвонков

                          • Перевод

                          Типичный запрос в техподдержку Voximplant: «Почему видеозвонок между двумя Chrome выглядит лучше, чем видеозвонок между MS Edge и нативным iOS-приложением»? Коллеги обычно отвечают нейтральное — «потому что кодеки». Но мы, айтишники, любопытны. Даже если я не разрабатываю новый Skype-for-web, чтение «какой браузер что может» и как они разбивают одно видео на несколько потоков разного качества обогащает картину мира и дает свежую тему для обсуждения в курилке. Удачно подвернувшаяся статья от широко известного в узких кругах Dr Alex (с лучшим объяснением термина «media engine» из всех, что я видел), немного нашего опыта, пара вечеров в «Циферблате» — и адаптированный для Хабра перевод ждет под катом!
                          Читать дальше →
                          • +37
                          • 5,1k
                          • 6
                        • Используем AMP как библиотеку общего назначения для создания быстрых динамических сайтов

                          • Tutorial

                          Изменить первое впечатление очень трудно. И я говорю не только о людях. Технологии также часто становятся заложниками первого впечатления — своей первой версии. И потом несмотря на годы развития, новые возможности и устранение старых недостатков, в массовом сознании технология остается той самой несовершенной, своей первой версией. Тем, кто не пытается бороться с такого рода когнитивными искажениями, остаётся только смотреть на успехи конкурентов, использующих знакомые технологии в новых сценариях, с немым вопросом: "А что, так можно было!?".



                          Наиболее ярким примером технологии, которая шагнула далеко вперёд по сравнению с тем, чем она была в самом начале, на мой взгляд является AMP — Accelerated Mobile Pages. Многие разработчики воспринимают AMP как способ положить статический контент своего сайта (статьи, новости, заметки и т.д.) в кэш Google, чтобы при открытии из поиска этот контент загружался мгновенно (о высокой скорости загрузки AMP страниц свидетельствует иконка молнии в результатах поиска :)). Естественно, если вам нужно добиться именно такого результата, то с AMP это сделать будет очень легко. Но AMP — это гораздо больше чем просто технология для работы со статическим контентом или кэшем Google. AMP уже давно используется как библиотека общего назначения, основанная на web компонентах, для создания быстрых динамических страниц и даже сайтов целиком, на которые пользователи попадают как из поиска, так и из других источников, включая прямые заходы. С этой точки зрения AMP можно поставить в один ряд с Polymer, React или Angular. Естественно с оглядкой на то, что AMP предназначена для простых (чтобы это не значило) сайтов, где основной упор делается на контент, а динамическая составляющая ограничена.


                          Читать дальше →
                        • Что нового в DevTools в Chrome версии 68

                          • Перевод

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


                          Консоль разработчика в Chrome давно поражает меня глубиной своей проработки. Когда-то давно я тащился от Firebug'а, а теперь настали дни, когда я жизний своей не вижу без разработки на хроме. Хорошо, когда люди стремятся превзойти друг друга в делах.


                          • Упреждающее исполнение. Как только вы напишете выражение, Консоль отобразит его результат.
                          • Подсказки аргументов. По мере того как вы напишете название фунции, Консоль покажет вам ожидаемые аргументы для неё.
                          • Автозавершение функций. После набора вызова функции, к примеру, document.querySelector('p'), Консоль покажет вам функции и свойства, которые поддерживает возвращаемое значение.
                          • Ключевые слова из ES2017 в Консоли. Такие ключевые слова, как await, теперь доступны в Консоли в интерфейсе автодополнения.
                          • Lighthouse 3.0 в панели аудита. Более быстрый, более консистентный аудит, новый пользовательский интерфейс и новые типы аудитов.
                          • Поддержка BigInt. Опробуйте новый целочисленный тип в Консоли.
                          • Добавляем пути к свойству в панели наблюдения. Добавляйте свойства из панели целей в панель наблюдения.
                          • Опция "Показать метки времени" переместилась в раздел настроек.
                          Читать дальше →
                          • +7
                          • 10,6k
                          • 9
                        • Почему открытие YouTube в Firefox или Edge может занимать в 5 раз дольше, чем в Google Chrome

                            Неожиданным открытием поделился сегодня с общественностью Крис Петерсон из Mozilla: как выяснилось, в данный момент открытие страницы YouTube в браузерах Firefox и Edge происходит в 5 раз медленнее, чем в Google Chrome. В чём же причина подобного явления?

                            Дело в том, что новый редизайн YouTube, в основе которого лежит библиотека Polymer, полагается на API Shadow DOM v0, которое было реализовано исключительно в Chrome, а с апреля этого года и вовсе признано deprecated.

                            В силу описанной причины для работы обновленного YouTube в Firefox и Edge вместо Shadow DOM v0 используется полифилл — который, разумеется, работает медленнее. На ноутбуке Криса первоначальная загрузка страницы занимает в Chrome 1 секунду, а под Firefox с использованием полифилла — целых 5 секунд. При последующей навигации по сайту падения производительности замечено не было. Под IE11 YouTube по-прежнему работает в старом дизайне без использования Polymer.

                            Причина подобного решения неизвестна. Возможно, внутренние метрики Google показали, что редизайн с полифиллом увеличивает вовлечение пользователей (user engagement) в Firefox и Edge сильнее, чем им вредит медленная загрузка сайта.
                            Читать дальше →

                          Самое читаемое