Выпуск web-браузера Chrome 31 с реализацией технологии Portable Native Client

12 ноября 2013 года

Компания Google представила релиз web-браузера Chrome 31. Браузер построен на кодовой базе свободного проекта Chromium и отличается использованием логотипов Google, встроенной поддержкой Flash и PDF, наличием системы отправки уведомлений в случае краха, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

Основные изменения:

  • Включение поддержки PNaCl (Архивная копия от 7 октября 2013 на Wayback Machine) (Portable Native Client) в настольных версиях Chrome, которая позволяет организовать выполнение приложений, написанных на языках C и С++, в специальном изолированном окружении web-браузера, независимо от текущей аппаратной архитектуры. Например, скомпилированный для PNaCl исполняемый файл может быть выполнен в различных версиях Chrome и Chrome OS, независимо от аппаратной архитектуры (x86, x86_64, ARM, MIPS) и типа операционной системы, демонстрируя при этом производительность, близкую к родному для данной целевой платформы исполняемому файлу.

В PNaCl вместо генерации машинного кода приложение компилируется в универсальный биткод(недоступная ссылка) LLVM и поставляется в непривязанном к конкретной платформе исполняемом формате ".pexe". В процессе запуска приложения промежуточный биткод LLVM транслируется в машинный код текущей платформы на стороне локальной системы пользователя. Вынос стадии генерации машинного кода на сторону клиента позволяет разработчику не задумываться о низкоуровневых оптимизациях и поддержке новых архитектур - новые методы оптимизации и поддержка новых аппаратных платформ производится без пересборки пользовательского приложения, через обновление транслятора. Вместо стандартной системной Си-библиотеки в PNaCl предлагается к использованию многоплатформенная библиотека newlib, развиваемая компанией Red Hat;

  • Для приложений Chrome Apps добавлена поддержка обработчиков URL (Архивная копия от 31 декабря 2013 на Wayback Machine), позволяющих привязать приложение к определённым типам URL (например, можно организовать открытие ссылок на документы в web-редакторе). Также добавлен fileSystem API (Архивная копия от 13 февраля 2014 на Wayback Machine) для доступа к содержимому локальных директорий, что позволяет организовать совместный доступ к файлам между web-приложением и нативными программами (например, web-редактор кода может быть сопряжен с нативным клиентом Git). При использовании fileSystem API запрашивается подтверждение от пользователя;
  • В версии Chrome для платформы Android появилась поддержка создания ярлыков для запуска программ в полноэкранном режиме. Ярлыки позволяют разместить на домашнем экране Android ссылки для быстрого открытия сайтов или web-приложений в браузере. В отличие от ранее поддерживаемых схем, новая возможность позволяет открыть связанные с ярлыком сайты или web-приложения в отдельном полноэкранном окне, лишённом традиционных элементов управления браузером (без адресной строки, вкладок, меню и кнопок). Для добавления ярлыка на домашний экран в меню Chrome добавлена специальная кнопка;
  • В версии для Android, Windows и Chrome OS добавлена поддержка вызова requestAutocomplete(), созданного для организации управления процессом автозаполнения форм ввода, что может быть использовано для отдельной обработки ранее вводимых данных для заполнения форм с параметрами платежей (например, разработчик может определить какую платёжную систему ранее использовал пользователь и сформировать заполненный шаблон). Имена автоматически заполняемых атрибутов задаются через свойство autocomplete в тегах input и select. При доступе к данным автозаполнения пользователю выводится предложение подтвердить операцию;
  • Для WebRTC добавлена поддержка протокола SCTP для организации канала передачи данных, допускающего прямую P2P-передачу данных между браузерами клиентов;
  • Добавлена поддержка прозрачности для видео WebM (например для воспроизведения кадров, снятых на фоне зелёного экрана, поверх статичной картинки);
  • В Chrome для Android добавлена поддержка JavaScript Web Speech API с реализацией средств для распознавания речи;
  • Возможность создания непрозрачных canvas при задании атрибута "{ alpha: false }" в getContext('2d');
  • В 2D canvas добавлена поддержка метода "ellipse";
  • Снят экспериментальный префикс с реализации Media Source API, предоставляющей средства для локальной генерации мультимедийных потоков из JavaScript-приложений. Поддержка динамического формирования контента для тегов video и audio открывает новые возможности для разработчиков web-приложений, упрощая реализацию адаптивного потокового вещания и смещённых во времени live-трансляций.

Кроме нововведений и исправления ошибок, в новой версии устранено 27 уязвимостей, из которых 21 проблема помечена как опасная, а одной уязвимости присвоен статус критической проблемы, позволяющей обойти все уровни защиты браузера и совершить атаку на систему пользователя. Критическая проблема и 16 опасных уязвимостей выявлены сотрудниками Google в процессе внутреннего аудита кодовой базы. В процессе аудита также были выявлены уязвимости во внешних компонентах libjpeg, libjpeg-turbo и libjingle, код которых используется в Chrome.

В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 7 премий на сумму 15000 долларов США (одна премия в $4000, две по $2000, две по $1000 и две по $500, плюс две поощрительные надбавки по $2000).

Тем временем, в бета-версии Chrome 32 появилась возможность наглядного выявления "шумных" вкладок, в которых воспроизводится звук. На подобных вкладках теперь отображается специальный значок, что позволяет быстро оценить источник звука. Кроме того, в бета-версии активирована функция автоматически блокировки вредоносных файлов.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск web-браузера Chrome 31 с реализацией технологии Portable Native Client», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.