The Pepper Plug-in API (PPAPI) lets Native Client modules communicate with the hosting browser and access system-level functions in a safe and portable way. For a brief description of Pepper see the Technical Overview.
Pepper has both a C API and a C++ API. These APIs are generally divided into two parts: functions that are implemented in the browser and that you call from your Native Client module, and functions that the browser invokes and that you must implement in your Native Client module.
To develop a Native Client module using a specific version of Pepper, you must
download and use the corresponding SDK bundle. For example, to use
Pepper 16 you must download and use the
pepper_16 SDK bundle.
Native Client modules compiled using a particular Pepper version will generally work in corresponding versions of Chrome and higher.
For example, a module compiled using Pepper 16 will work in Chrome 16 and higher.
The reference documentation on this site includes both the C and C++ APIs for the most recent versions of Pepper. Before you read the reference documentation, we recommend that you read the Technical Overview and the Getting Started Tutorial.
The Pepper 16 bundle/platform includes these new features:
- the Pepper Fullscreen API
- the Pepper Mouse Lock API
For additional information about Pepper 16, see the SDK release notes.
Pepper C++ API
The lowest level of Pepper is the C API, declared in the header files
include/ppapi/c. The C API represents the lowest level binary interface between a Native Client module and the browser.
The Pepper C++ API, declared in the header files in
include/ppapi/cpp, is a wrapper around the C API.
The C++ API provides a layer of abstraction and takes care of many details such as reference counting resources, thus making
Pepper considerably easier to use.
Click the links below "Pepper C++ API" in the left navbar to view the C++ API by class or by file (all classes, functions, namespaces,
and so on in