Questions tagged [google-nativeclient]

Native Client (NaCl) and Portable Native Client (PNaCl) are open-source technologies for executing compiled code in a browser sandbox. PNaCl is portable and preferred but has a few limitations. Questions about the tool chain and SDK for Native Client as well as questions concerning behaviors of the resulting applications should use this tag. Questions involving HTML and JavaScript components used with Native Client may need those tags as well or instead.

The Native Client (NaCl) and Portable Native Client (PNaCl) open-source technologies are designed to run operating system independent, native compiled code securely inside browsers by containing the compiled code in a sandbox. The result is to provide the raw speed needed for browser based applications to compete with traditional software like 3D games, video editing, and other applications. Native Client gives languages like C and C++ the same level of portability and safety that JavaScript provides on the web today.

There are two versions of Native Client: Native Client using the native code of a specific target hardware and Portable Native Client using a portable hardware independent code. The Portable Native Client code is translated to Native Client code for the current hardware at the time it is executed in the sandbox.

Portable Native Client is preferred since one executable can run on multiple hardware while Native Client requires multiple hardware specific versions. However Portable Native Client does have a few limitations and Native Code may be required for a specific application.

A complete application is expected to use Native Client (PNaCl or NaCl) with HTML along with any needed JavaScript and CSS styles (JavaScript and CSS may be included in the HTML file or as separate files). An embed tag with a type of application/x-pnacl for Portable Native Client or application/x-nacl for Native Client is used in an HTML file specifying the application's manifest file to download and start the Native Client application.

Applications may be published through the Chrome Web Store.

From the SDK download page.

Platforms

Native Client supports several operating systems, including Windows, Linux, OSX, and ChromeOS. It supports several architectures including on x86-32, x86-64, ARM, and MIPS.

446 questions
3
votes
1 answer

how to send array buffer from and to in Native client and javascript

I want to send an array buffer from Javascript to a Native Client module and then I want to convert the array buffer to an integer pointer. I saw the earth example in the nacl-sdk directory. They are passing image data and convert it like so: …
3
votes
1 answer

Performance: NaCl vs Emscripten

How does Google's native client (both NaCl and PNaCl) compare to Emscripten in ported C++ code performance?
grzkv
  • 2,599
  • 3
  • 26
  • 37
3
votes
1 answer

Send unsigned char string from native client module to browser

In a chrome NaCl extension that encrypts the data received from the browser and supposed to return the encrypted text via PostMessage() I am having trouble in sending the data type of unsigned char* for ciphertext. The pp::Var specification doesn't…
3
votes
2 answers

PNaCl and Google Chrome 40 on Linux: Compile process could not be created

I am trying to run the part1 application in the getting_started directory of the Google Native Client SDK, and I obtain the following message in my browser: NativeClient: PnaclCoordinator: Compile process could not be created: When I visit the…
gnuvince
  • 2,357
  • 20
  • 27
3
votes
1 answer

Replacement for NPAPI Plugin

As we all know Google announced to remove NPAPI from Chrome on September 2015: http://www.chromium.org/developers/npapi-deprecation I have a plugin developed with NPAPI, which allows users to scan using WIA and TWAIN. I also use there WinApi do…
3
votes
1 answer

NaCl sel_ldr behavior and system calls

In Google's NaCl (native client) SDK there is sel_ldr.py (secure elf loader), which allows a user to run a NaCl executable (.nexe) created through the NaCl or PNaCl toolchain. What exactly does sel_ldr.py do while running these .nexe…
Guy Axel
  • 33
  • 5
3
votes
1 answer

purpose of PPAPI toolchain and how to use it?

I understand the there are multiple toolchains availble in "Native Client SDK". If i am not wrong there are 5 toolchains. one PNaCl Toolchain PNaCl - for building pexe (These pexe are platform independent and architecture independent) Multiple…
Devesh Agrawal
  • 8,982
  • 16
  • 82
  • 131
3
votes
1 answer

SQLite in Native Client

I am trying to use sqlite3 in a Native Client application. There is a port available in the Chromium project, but I was unable to make it run properly. My problem is that, for some reason, the application is unable to open a DB since a call like…
skortzy
  • 169
  • 6
3
votes
0 answers

"Native Client is not allowed" on embedded Chrome app store app

I've verified and added the site serving the embedded Chrome app (and also installed the app from the store)... but for some reason, I still get "Native Client is not allowed" on the embed.
3
votes
2 answers

V8 vs NativeClient

I know that V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS CPUs) before executing it. And I have read that google native client compiles C/C++ to machine code, so if those two technologies return same result(machine…
3
votes
0 answers

USB device access using Google Native Client (Nacl)

I have a browser plugin which doesn't have visual interface and works in the background.The plugin is built using NPAPI technology.The browser plugin is used to Set Up USB device. Now we want to change it and use some other technology,since chrome…
3
votes
1 answer

The hello_tutorial doesn't build with pepper_29

run make inside the hello_tutorial directory. I got an error: nacl_sdk/pepper_29/toolchain/mac_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: cannot find -lppapi_cpp collect2: ld returned 1 exit status I'm using Mac. Any…
kzhdev
  • 667
  • 5
  • 14
3
votes
3 answers

Does Google NaCl support exceptions with a C++ 11 compiler?

Google NaCL comes with at least two C++ compilers: a very old gcc version, and a very recent clang version. The gcc version does not support C++ 11, so I would rather not use it. The very new clang compiler generates intermediate code, and then…
dsign
  • 12,340
  • 6
  • 59
  • 82
3
votes
3 answers

How to force Chrome to prerender more pages?

I'm learning about Chrome and Native Client. Basically i want to increase number of pages that are prerendered by chrome (now its just one page). I was thinking about creating a extension that would allow to prerender more pages. Is this a way to…
Chris
  • 3,405
  • 4
  • 29
  • 34
3
votes
1 answer

Is Google's native Client available for Android's webview and Chrome?

Is NaCl and It's Pepper API available on Chrome for Android ? is it available for WebView for Jelly Bean ?
Amogh Talpallikar
  • 12,084
  • 13
  • 79
  • 135