Native Client (NaCl) is an open source technology for running compiled C/C++ code inside Google Chrome, enabling developers to run a binary file inside a browser tab in all Google Chrome supported OSes, having one binary per architecture. Besides providing a friendly sandbox for nice processes, it maintains similar to native code performance, making it possible to do some smashing data crunching in the browser. NaCl uses Pepper to communicate with the hosting browser and get access to system-level functions, including files and OpenGL ES 2.0; access to the user’s camera is not ready yet but we’re working to get it ready too. Portable Native Client (PNaCl) extends that model by compiling C/C++ for a portable intermediate representation, meaning that a single binary, a .pexe, can run in all OSes and platforms without modification, and that my fellow opencv’ers means a single binary for all x86, ARM and MIPS.

More details about modification OpenCV code for NaCl support is here: https://codereview.chromium.org/76153002/