Browser engine at a glance

The QNX Web Browser enables embedded developers to combine the secure, reliable performance of the QNX Neutrino RTOS with the rich HTML5 support of Blink, the same rendering engine found in browsers like Google Chrome.

The QNX Web Browser supports most features of the Chromium open-source browser project, including progressive web apps, web push notification, shadow DOM, custom elements, service workers, web inspector, pointer events, and JavaScript async/await.

The QNX Web Browser also implements a number of optimizations to address the requirements of car infotainment systems and other embedded products. For example:

The QNX Web Browser works with a variety of QNX system services to enable a complete browsing experience. See the diagram below for an overview of the browser engine and the services it supports:

QNX Web Browser architecture
Chromium content API
The Content API includes classes to load web pages, display web content in windows, manage browser history, follow user-activated links, and so on.
Blink rendering engine
The rendering engine interprets and formats HTML5 content. To ensure reliable operation, the QNX Web Browser can create a separate instance of the rendering engine for each site, each instance of a site, or each tab. See the discussion of Renderer process models for more information.
ozone-qnx
This component is the QNX implementation of Chromium's Ozone abstraction layer for low-level input and graphics. It allows the QNX Web Browser to work with the QNX Screen Graphics Subsystem and QNX input services, including keyboard, virtual keyboard, mouse, trackpad, and touch.
Support for QNX OS services
The QNX Web Browser includes several extensions that allow it to take advantage of the following QNX services:
  • Location manager — Enables the browser to determine its current location. The browser connects to the location manager automatically when the manager is running.

    The location manager is installed on your development host when you install the QNX Web Browser. See the location_manager entry in the QNX Neutrino RTOS Utilities Reference for more information.

  • mm-renderer — Renders audio and video streams. The QNX Multimedia Suite, which is available as a separate package, provides this service.

  • Font services — These include QNX implementations of the FreeType font engine, which produces glyph images for most vector and bitmap font formats, and of the Fontconfig library, which lets you manage font configurations for your target system. See the section on font rendering in the Screen Graphics Subsystem Developer's Guide for more information.

  • JavaScript PPS API — Allows HTML5 applications to access the native Persistent Publish/Subscribe system used by various services of the QNX Neutrino RTOS and QNX CAR platform. See the JavaScript PPS API chapter for more information.

V8 JavaScript engine
Designed for Chromium web browsers, the V8 engine compiles and executes JavaScript source code, handles memory allocation for objects, and garbage-collects objects it no longer needs.