NOTE: Deprecation of the technologies described here has been announced for platforms other than ChromeOS.
Please visit our migration guide for details.


This glossary defines terms and names commonly used throughout the Native Client documentation.

asynchronous programming
In the asynchronous programming model, function calls are executed and return immediately without waiting for a response. Using this model, function calls are non-blocking; the web browser continues its main thread of execution and gets notified of asynchronous call completion through callbacks or some other mechanism.
focus events
Events that indicate whether certain parts of a web page are in or out of focus.
input events
Events that occur when an input device (such as keyboard or mouse) is used to interact with an module instance.
A rectangle on a web page that is managed by a Native Client module (the rectangle can have width=0 and height=0, which means that nothing is drawn on the page).
manifest file
A file containing metadata or information about accompanying files.
message events
Events used to pass data between JavaScript and the Native Client module (see the Messaging System section).
Depending on context, “module” may mean one of two things. First, it may be a general short-term for for “Native Client module”—compiled C/C++ code produced with a Native Client toolchain (for example PNaCl). See How Native Client works for more details. Second, it may refer to a concrete implementation of the pp::Module class for some Native Client module.
progress events
Events generated by the Native Client runtime system during the module loading process.
An object in a Native Client module that corresponds to a JavaScript variable.
view change events
Events that occur when a change in the browser affects the module instance (such as resizing the browser window or going to and from fullscreen mode).
web workers
Web workers provide a mechanism for running heavy-weight JavaScript code on background threads so that the main web page can continue to respond to user interaction. Web pages interact with web workers by using postMessage() to send messages. The way a web page interacts with a Native Client module is analogous to the way it interacts with web workers.