Knowledge (XXG)

Google Native Client

Source 📝

527:. Native Client sets up x86 segments to restrict the memory range that the sandboxed code can access. It uses a code verifier to prevent use of unsafe instructions such as those that perform system calls. To prevent the code from jumping to an unsafe instruction hidden in the middle of a safe instruction, Native Client requires that all indirect jumps be jumps to the start of 32-byte-aligned blocks, and instructions are not allowed to straddle these blocks. Because of these constraints, C and C++ code must be recompiled to run under Native Client, which provides customized versions of the 816: 1939: 275: 152: 681:
only, and had private APIs specific to the Flash Player plugin which were not documented. In October 2016 Mozilla announced that it had re-considered and was exploring whether to incorporate the Pepper API and PDFium in future releases of Firefox, however no such steps were taken. In July 2017, Adobe
736:
2012, saying: "if you have to do something inside a browser, Native Client is much more interesting as something that started out as a really pretty darn clever x86 hack in the way that they could sandbox all of this in user mode interestingly. It's now dynamic recompilation, but something that you
776:, Opera's CTO, believed that "NaCl seems to be 'yearning for the bad old days, before the web'", and that "Native Client is about building a new platform – or porting an old platform into the web it will bring in complexity and security issues, and it will take away focus from the web platform." 737:
program in C or C++ and it compiles down to something that's going to be not your -O4 optimization level for completely native code but pretty damn close to native code. You could do all of your evil pointer chasings, and whatever you want to do as a to-the-metal game developer."
718:) praised the way Native Client can bring high-performance applications to the web (with about 5% penalty compared to native code) in a secure way, while also accelerating the evolution of client-side applications by giving a choice of the programming language used (besides 620:
On 12 August 2009, a page on Google Code introduced a new project, Pepper, and the associated Pepper Plugin API (PPAPI), "a set of modifications to NPAPI to make plugins more portable and more secure". This extension is designed specifically to ease implementing
595:
was also used. Pepper API is a cross-platform, open-source API for creating Native Client modules. Pepper Plugin API, or PPAPI is a cross-platform API for Native Client-secured web browser plugins, first based on Netscape's
755:, said that Mozilla has no plans to run native code inside the browser, as "These native apps are just little black boxes in a webpage. We really believe in HTML, and this is where we want to focus." 404:
On 12 October 2016, a comment on the Chromium issue tracker indicated that Google's Pepper and Native Client teams had been destaffed. On 30 May 2017, Google announced deprecation of PNaCl in favor of
663:, was the only web browser to use the new browser plug-in model. As of 2020, Pepper is supported by Chrome, Chromium and Blink layout engine-based browsers such as Opera and Microsoft Edge. 401:
to be compiled to run in the browser and also supports ahead-of-time compilation, but is a subset of JavaScript and hence backwards-compatible with browsers that do not support it directly.
677:
developers stated in 2014 that they would not support Pepper, as there were no full specification of the API beyond its implementation in Chrome, which itself was designed for use with
954: 1205: 523:
for sandboxing on x86-64 and ARM. The x86-32 implementation of Native Client is notable for its novel sandboxing method, which makes use of the x86 architecture's rarely used
2528: 2518: 408:. Although initially Google planned to remove PNaCl in first quarter of 2018, and later in the second quarter of 2019, it has been removed in June 2022 (together with 1231: 386:, which, while still in use, has full access to the system (disk, memory, user-interface, registry, etc.). Native Client avoids this issue by using sandboxing. 686:
in the end of 2020. By January 2021, Adobe Flash Player, Google Chrome, Firefox, Safari, and Windows received updates disabling or entirely removing Flash.
476:
web browser since version 14, and has been enabled by default since version 31, when the Portable Native Client (PNaCl, pronounced: pinnacle) was released.
1556: 382:. PNaCl is recommended over NaCl for most use cases. The general concept of NaCl (running native code in web browser) has been implemented before in 2510: 2414: 762:
criticized NaCl, claiming that native code cannot evolve in the same way that the source code-driven web can. He also compared NaCl to Microsoft's
625:
plugin execution. Further, the goals of the project are to provide a framework for making plugins fully cross-platform. Topics considered include:
3156: 3166: 2565: 2083: 958: 337:
To demonstrate the readiness of the technology, on 9 December 2011, Google announced the availability of several new Chrome-only versions of
1463: 1404:
Yee, Bennet; Sehr, David; Dardyk, Greg; Chen, Brad; Muth, Robert; Ormandy, Tavis; Okasaka, Shiki; Narula, Neha; Fullagar, Nicholas (2009).
821: 454: 1732: 3151: 1346: 1209: 2370: 745:
Other IT professionals were more critical of this sandboxing technology as it had substantial or substantive interoperability issues.
1177: 360: 2495: 1324: 3039: 2480: 2376: 508:. The executables are called PNaCl executables (pexes). The PNaCl Toolchain makes .pexe files; NaCl Toolchain .nexe files. The 2694: 2160: 513: 1701: 1378:
Sehr, David; Muth, Robert; Biffle, Cliff L.; Khimenko, Victor; Pasko, Egor; Yee, Bennet; Schimpf, Karl; Chen, Brad (2010).
2833: 2145: 520: 2560: 2407: 121: 1235: 666:
In August 2020, Google announced that support for PPAPI would be removed from Google Chrome and Chromium in June 2022.
2714: 2570: 2550: 2324: 2150: 1534: 980: 785: 502: 291: 235: 80: 498:
To run an application portably under PNaCl, it must be compiled to an architecture-agnostic and stable subset of the
1258: 2896: 2590: 2585: 2334: 1980: 1969: 829: 3113: 2883: 2796: 2690: 2155: 2076: 851: 379: 1638: 1091: 927: 905: 2475: 2178: 1280: 394: 165: 1002: 2039: 3118: 2916: 2400: 2183: 2119: 2049: 1302: 695: 532: 524: 342: 1511: 871: 2602: 2440: 2308: 2114: 660: 448: 1041: 2838: 2791: 2721: 2490: 2381: 1995: 1427: 793: 130: 2911: 2610: 2208: 2129: 2069: 2045: 2023: 1615: 759: 421: 351: 1843: 1016: 3123: 2906: 2744: 2533: 683: 678: 622: 327: 230: 752: 3021: 2843: 2709: 2523: 2223: 1797: 1467: 558: 442: 430: 200: 1900: 1600: 706:
Some groups of browser developers supported the Native Client technology while others did not.
516:. In Chrome, they are translated to architecture-specific executables so that they can be run. 89: 3034: 2665: 2293: 2233: 1353: 1303:"Google Code Blog: Portable Native Client: The "pinnacle" of speed, security, and portability" 797: 773: 492: 409: 346: 303: 213: 1820: 1798:"Chad Austin: In Defense of Language Democracy (Or: Why the Browser Needs a Virtual Machine)" 1110: 3103: 3084: 3049: 3025: 2995: 2985: 2580: 2298: 2228: 2198: 480: 356: 315: 299: 243: 209: 176: 3161: 3108: 3079: 2538: 2018: 1866:"Beta release of PHP 7.2 in the Google App Engine standard environment | Hacker News" 1657: 1489: 729: 580: 368: 31: 151: 1938: 1281:"The Chromium Blog: Native Client Brings Sandboxed Native Code to Chrome Web Store Apps" 1160:"GitHub - davemichael/NaCl-Quake: Quake for Native Client (based on the SDL Quake port)" 274: 2901: 2873: 2828: 2364: 2061: 1945: 1066: 372: 1449: 378:
Portable Native Client (PNaCl) is an architecture-independent version. PNaCl apps are
3145: 3130: 3091: 3069: 2956: 2858: 2543: 601: 562: 528: 473: 108: 3029: 2685: 2555: 2258: 2238: 1932: 876: 592: 547: 536: 259: 248: 1405: 1379: 2926: 2863: 2735: 2681: 2431: 2218: 2193: 1865: 1709: 845: 801: 725: 605: 509: 405: 311: 307: 223: 1990: 2868: 2848: 2823: 2650: 2630: 2329: 2303: 2268: 2124: 1984: 1974: 1963: 1705: 1115: 834: 811: 719: 306:
native code, or a portable executable, in a sandbox. It allows safely running
45: 472:, have been ported to Native Client. Native Client has been available in the 2891: 2853: 2645: 2500: 2188: 1771: 1159: 839: 653: 460: 364: 338: 1578: 375:
capture. There were also plans to make NaCl available on handheld devices.
30:"Google NaCl" redirects here. For Networking and Cryptography library, see 2012: 1679: 1137: 3074: 2931: 2699: 2660: 2655: 2635: 2625: 2620: 2344: 2288: 767: 733: 505: 323: 193: 1733:"Goodbye again, Flash—Microsoft makes removal from Windows 10 mandatory" 3044: 2990: 2806: 2786: 2704: 2485: 2423: 2273: 2253: 2213: 2203: 763: 748: 674: 649: 383: 319: 181: 2026:, vector editor, especially powerful for security printing (not PNaCl) 3001: 2941: 2936: 2815: 2615: 2468: 2458: 2453: 2339: 2278: 2263: 2092: 2033: 1884: 1380:"Adapting Software Fault Isolation to Contemporary CPU Architectures" 931: 789: 694:
One website used NaCL on the server to let users experiment with the
554: 484: 469: 425: 390: 331: 50: 17: 2007: 1879: 398: 322:
to run at near-native speeds, which aligns with Google's plans for
169: 2969: 2964: 2946: 2769: 2762: 2757: 2752: 2463: 1406:"Native Client: A Sandbox for Portable, Untrusted x86 Native Code" 981:"Google Code Blog: Games, apps and runtimes come to Native Client" 597: 574: 488: 189: 185: 2392: 3096: 2575: 2448: 2248: 2243: 2058:, a port of Bennugd Videogames examples to Native Client (PNaCl) 1965:
Google I/O 2013 - Introduction to Portable Native Client (PNaCl)
1557:"Getting Started: Background and Basics – The Chromium Projects" 1259:"Native Client: A Technology for Running Native Code on the Web" 715: 584: 540: 499: 465: 436: 2396: 2065: 330:, and parts of other applications or full applications such as 2921: 2640: 635:
Standardize rendering using the browser's compositing process.
609: 588: 295: 205: 906:"Google Native Client: The web of the future – or the past?" 1111:"Google delays deprecation of Chrome Apps on all platforms" 659:
As of 13 May 2010, Google's open source browser,
638:
Defining standardized events, and 2D rasterizing functions.
600:, then rewritten from scratch. It was used in Chromium and 2055: 2029: 1976:
Google I/O 2009 Native Code for Compute Intensive Web Apps
1757: 955:"Native Client turns Chrome into high-end gaming platform" 632:
Execution in a separate process from the renderer-browser.
1206:"Chrome Web Store - Lara Croft and the Guardian of Light" 2015:(runs in Chrome 31+, PNaCl, i.e. no installation needed) 1191: 1408:. IEEE Symposium on Security and Privacy (Oakland'09) 1916:
As a replacement, Google is now pushing WebAssembly.
1512:"The road to safer, more stable, and flashier Flash" 3062: 3014: 2978: 2955: 2882: 2814: 2805: 2743: 2734: 2674: 2601: 2509: 2439: 2430: 2357: 2317: 2169: 2138: 2107: 2100: 2048:, a port of the SDL version of Vigasoco (remake of 254: 242: 229: 219: 199: 175: 161: 120: 79: 57: 44: 1535:"Google hugs Adobe harder with Chrome-PDF merge" 294:technology for running either a subset of Intel 1844:"Mozilla: Our browser will not run native code" 1702:"Flash & The Future of Interactive Content" 1991:A list of OSS projects ported to Native Client 1658:"Bug 729481 - Support the "Pepper" Plugin api" 641:Initial attempt to provide 3D graphics access. 2408: 2077: 2042:, a synthesizer for Native Client (not PNaCl) 1399: 1397: 1067:"WebAssembly Migration Guide - Google Chrome" 512:of .nexe files is 0x7F 'E' 'L' 'F', which is 8: 1639:"Changes to the Chrome App Support Timeline" 1325:"Google's Native Client goes ARM and beyond" 1092:"Changes to the Chrome App Support Timeline" 872:"Google's Native Client goes live in Chrome" 629:Uniform semantics for NPAPI across browsers. 393:, which also allows applications written in 39: 1616:"Google heats up native code for Chrome OS" 1347:"PNaCl: Portable Native Client Executables" 483:implementation was released in March 2010. 326:. It may also be used for securing browser 2811: 2740: 2436: 2415: 2401: 2393: 2104: 2084: 2070: 2062: 1937: 1490:"Chrome Source: Index of /trunk/src/ppapi" 983:. Googlecode.blogspot.com. 9 December 2011 899: 897: 895: 273: 150: 38: 468:, as well as the sound processing system 1772:"Inside the Go Playground - The Go Blog" 1901:"Google Is to Remove Support for PNaCl" 863: 842:, running Windows programs in a sandbox 848:, a bytecode standard for web browsers 1305:. blog.chromium.org. 12 November 2013 1138:"Google Native Client on Google Code" 7: 1036: 1034: 953:Rosenblatt, Seth (9 December 2011). 822:Free and open-source software portal 792:. It is intended to replace NaCl in 455:Lara Croft and the Guardian of Light 367:2.0), sandboxed local file storage, 1283:. Blog.chromium.org. 18 August 2011 1042:"Goodbye PNaCl, Hello WebAssembly!" 682:deprecated Flash and announced its 2371:Google LLC v. Oracle America, Inc. 1637:Anthony Laforge (10 August 2020). 1261:. Google-code-updates.blogspot.com 546:Native Client is licensed under a 27:Web technology developed by Google 25: 800:. Google has also been promoting 1996:Native Client source code in Git 1382:. 19th USENIX Security Symposium 904:Metz, Cade (12 September 2011). 814: 2377:Open Source Security Foundation 1819:Carmack, John (3 August 2012). 1796:Austin, Chad (8 January 2011). 751:'s vice president of products, 604:to enable the PPAPI version of 238:in web browsers for native code 3157:Software using the BSD license 1464:"Pepper Plugin API project at" 1257:Chen, Brad (8 December 2008). 1158:davemichael (3 October 2020). 565:(GNU libc) is also available. 389:An alternative by Mozilla was 1: 2095:free and open-source software 1678:Metz, Cade (3 October 2016). 648:The Pepper API also supports 521:fault detection and isolation 3167:Cross-platform free software 1708:25 July 2017. Archived from 1109:Li, Abner (10 August 2020). 355:(no longer supported on the 2774: 1899:Avram, Abel (31 May 2017). 1842:Metz, Cade (24 June 2010). 1533:Metz, Cade (18 June 2010). 503:intermediate representation 3183: 3152:Computer security software 2052:) to Native Client (PNaCl) 1731:Salter, Jim (4 May 2021). 1614:Metz, Cade (13 May 2010). 830:Application virtualization 572: 314:, independent of the user 29: 2019:Native Client SDK Gallery 1428:"Native Client: Building" 852:XAML Browser Applications 784:The second generation of 766:technology, plagued with 732:praised Native Client at 341:known for their rich and 116: 75: 2036:to Native Client (PNaCl) 1178:"The Battle for Wesnoth" 371:, full screen mode, and 1946:"Issues - nativeclient" 788:developed in Google is 696:Go programming language 533:GNU Compiler Collection 1430:. developer.chrome.com 1327:. The H. 18 March 2010 957:. CNET. Archived from 796:, to be more exact in 380:compiled ahead-of-time 63:; 12 years ago 61:16 September 2011 2139:Programming languages 928:"ZeroVM Architecture" 698:from their browsers. 525:segmentation facility 495:were also supported. 424:project developed by 420:Native Client was an 94:; 9 years ago 2050:La Abadía del Crimen 1983:– Technical talk at 1450:"Technical Overview" 1071:developer.chrome.com 760:Christopher Blizzard 361:hardware-accelerated 290:) is a discontinued 284:Google Native Client 40:Google Native Client 1758:"The Go Playground" 1618:. Theregister.co.uk 1470:on 9 September 2016 1017:"Bugs.chromium.org" 880:. 16 September 2011 679:Blink layout engine 553:Native Client uses 519:NaCl uses software 92:/ 10 July 2015 41: 2710:Application server 1888:. 15 October 2021. 1712:on 2 December 2017 1581:. 24 February 2012 1492:. Src.chromium.org 1212:on 8 December 2013 934:on 8 February 2014 575:NPAPI § PPAPI 443:Battle for Wesnoth 3139: 3138: 3058: 3057: 3035:Browser extension 3010: 3009: 2730: 2729: 2666:Phusion Passenger 2390: 2389: 2353: 2352: 2318:Operating systems 2172:development tools 2046:Abadía del crimen 1950:bugs.chromium.org 1098:. 10 August 2020. 1019:. 12 October 2016 961:on 28 August 2012 798:Google App Engine 780:Second generation 652:(version 19) and 608:and the built-in 548:BSD-style license 363:3D graphics (via 281: 280: 16:(Redirected from 3174: 3104:Web API security 3026:Remote scripting 2996:Web SQL Database 2812: 2741: 2437: 2417: 2410: 2403: 2394: 2299:Protocol Buffers 2105: 2086: 2079: 2072: 2063: 1977: 1966: 1960: 1958: 1956: 1941: 1936: 1935: 1933:Official website 1919: 1918: 1913: 1911: 1896: 1890: 1889: 1876: 1870: 1869: 1862: 1856: 1855: 1853: 1851: 1839: 1833: 1832: 1830: 1828: 1816: 1810: 1809: 1807: 1805: 1793: 1787: 1786: 1784: 1782: 1768: 1762: 1761: 1754: 1748: 1747: 1745: 1743: 1728: 1722: 1721: 1719: 1717: 1698: 1692: 1691: 1689: 1687: 1680:"Project Mortar" 1675: 1669: 1668: 1666: 1664: 1656:Zbarsky, Boris. 1653: 1647: 1646: 1634: 1628: 1627: 1625: 1623: 1611: 1605: 1604: 1597: 1591: 1590: 1588: 1586: 1575: 1569: 1568: 1566: 1564: 1553: 1547: 1546: 1544: 1542: 1530: 1524: 1523: 1521: 1519: 1508: 1502: 1501: 1499: 1497: 1486: 1480: 1479: 1477: 1475: 1466:. Archived from 1460: 1454: 1453: 1446: 1440: 1439: 1437: 1435: 1424: 1418: 1417: 1415: 1413: 1401: 1392: 1391: 1389: 1387: 1375: 1369: 1368: 1366: 1364: 1358: 1352:. Archived from 1351: 1343: 1337: 1336: 1334: 1332: 1321: 1315: 1314: 1312: 1310: 1299: 1293: 1292: 1290: 1288: 1277: 1271: 1270: 1268: 1266: 1254: 1248: 1247: 1245: 1243: 1238:on 12 March 2016 1234:. Archived from 1228: 1222: 1221: 1219: 1217: 1208:. Archived from 1202: 1196: 1195: 1188: 1182: 1181: 1174: 1168: 1167: 1155: 1149: 1148: 1146: 1144: 1134: 1128: 1127: 1125: 1123: 1106: 1100: 1099: 1088: 1082: 1081: 1079: 1077: 1063: 1057: 1056: 1054: 1052: 1038: 1029: 1028: 1026: 1024: 1013: 1007: 1006: 1003:"NaCl and PNaCl" 999: 993: 992: 990: 988: 977: 971: 970: 968: 966: 950: 944: 943: 941: 939: 930:. Archived from 924: 918: 917: 915: 913: 901: 890: 889: 887: 885: 868: 824: 819: 818: 817: 714:Chad Austin (of 670:PPAPI in Firefox 644:Plugin registry. 561:, but a port of 428:. Games such as 357:Chrome Web Store 316:operating system 277: 272: 269: 267: 265: 263: 261: 177:Operating system 154: 149: 146: 144: 142: 140: 138: 136: 134: 132: 102: 100: 95: 71: 69: 64: 42: 21: 3182: 3181: 3177: 3176: 3175: 3173: 3172: 3171: 3142: 3141: 3140: 3135: 3109:Web application 3054: 3006: 2974: 2951: 2878: 2801: 2726: 2670: 2597: 2576:JavaScript JSGI 2556:ASP.NET Handler 2539:Jakarta Servlet 2505: 2426: 2421: 2391: 2386: 2349: 2313: 2171: 2165: 2134: 2096: 2090: 2004: 1975: 1964: 1954: 1952: 1944: 1931: 1930: 1927: 1922: 1909: 1907: 1898: 1897: 1893: 1880:"Google/Gvisor" 1878: 1877: 1873: 1864: 1863: 1859: 1849: 1847: 1841: 1840: 1836: 1826: 1824: 1821:"QuakeCon 2012" 1818: 1817: 1813: 1803: 1801: 1800:. Chadaustin.me 1795: 1794: 1790: 1780: 1778: 1776:blog.golang.org 1770: 1769: 1765: 1756: 1755: 1751: 1741: 1739: 1730: 1729: 1725: 1715: 1713: 1700: 1699: 1695: 1685: 1683: 1677: 1676: 1672: 1662: 1660: 1655: 1654: 1650: 1636: 1635: 1631: 1621: 1619: 1613: 1612: 1608: 1601:"Release Notes" 1599: 1598: 1594: 1584: 1582: 1577: 1576: 1572: 1562: 1560: 1555: 1554: 1550: 1540: 1538: 1532: 1531: 1527: 1517: 1515: 1514:. 8 August 2012 1510: 1509: 1505: 1495: 1493: 1488: 1487: 1483: 1473: 1471: 1462: 1461: 1457: 1448: 1447: 1443: 1433: 1431: 1426: 1425: 1421: 1411: 1409: 1403: 1402: 1395: 1385: 1383: 1377: 1376: 1372: 1362: 1360: 1356: 1349: 1345: 1344: 1340: 1330: 1328: 1323: 1322: 1318: 1308: 1306: 1301: 1300: 1296: 1286: 1284: 1279: 1278: 1274: 1264: 1262: 1256: 1255: 1251: 1241: 1239: 1230: 1229: 1225: 1215: 1213: 1204: 1203: 1199: 1190: 1189: 1185: 1176: 1175: 1171: 1157: 1156: 1152: 1142: 1140: 1136: 1135: 1131: 1121: 1119: 1108: 1107: 1103: 1090: 1089: 1085: 1075: 1073: 1065: 1064: 1060: 1050: 1048: 1040: 1039: 1032: 1022: 1020: 1015: 1014: 1010: 1001: 1000: 996: 986: 984: 979: 978: 974: 964: 962: 952: 951: 947: 937: 935: 926: 925: 921: 911: 909: 903: 902: 893: 883: 881: 870: 869: 865: 861: 820: 815: 813: 810: 782: 743: 730:John D. Carmack 712: 704: 692: 672: 618: 583:, common table 581:sodium chloride 577: 571: 531:, specifically 418: 369:dynamic loading 258: 157: 129: 112: 98: 96: 93: 67: 65: 62: 58:Initial release 35: 32:NaCl (software) 28: 23: 22: 15: 12: 11: 5: 3180: 3178: 3170: 3169: 3164: 3159: 3154: 3144: 3143: 3137: 3136: 3134: 3133: 3128: 3127: 3126: 3121: 3116: 3106: 3101: 3100: 3099: 3089: 3088: 3087: 3082: 3072: 3066: 3064: 3060: 3059: 3056: 3055: 3053: 3052: 3047: 3042: 3037: 3032: 3018: 3016: 3012: 3011: 3008: 3007: 3005: 3004: 2999: 2998:(formerly W3C) 2993: 2988: 2982: 2980: 2976: 2975: 2973: 2972: 2967: 2961: 2959: 2953: 2952: 2950: 2949: 2944: 2939: 2934: 2929: 2924: 2919: 2914: 2909: 2904: 2899: 2894: 2888: 2886: 2880: 2879: 2877: 2876: 2874:XMLHttpRequest 2871: 2866: 2861: 2856: 2851: 2846: 2841: 2836: 2831: 2826: 2820: 2818: 2809: 2803: 2802: 2800: 2799: 2794: 2789: 2784: 2783: 2782: 2772: 2767: 2766: 2765: 2760: 2749: 2747: 2738: 2732: 2731: 2728: 2727: 2725: 2724: 2719: 2718: 2717: 2707: 2702: 2697: 2688: 2678: 2676: 2672: 2671: 2669: 2668: 2663: 2658: 2653: 2648: 2643: 2638: 2633: 2628: 2623: 2618: 2613: 2607: 2605: 2603:Apache modules 2599: 2598: 2596: 2595: 2594: 2593: 2583: 2578: 2573: 2568: 2563: 2558: 2553: 2548: 2547: 2546: 2536: 2531: 2526: 2521: 2515: 2513: 2507: 2506: 2504: 2503: 2498: 2493: 2488: 2483: 2478: 2473: 2472: 2471: 2466: 2461: 2456: 2445: 2443: 2434: 2428: 2427: 2424:Web interfaces 2422: 2420: 2419: 2412: 2405: 2397: 2388: 2387: 2385: 2384: 2382:Summer of Code 2379: 2374: 2367: 2361: 2359: 2355: 2354: 2351: 2350: 2348: 2347: 2342: 2337: 2332: 2327: 2321: 2319: 2315: 2314: 2312: 2311: 2306: 2301: 2296: 2291: 2286: 2281: 2276: 2271: 2266: 2261: 2256: 2251: 2246: 2241: 2236: 2231: 2226: 2221: 2216: 2211: 2206: 2201: 2196: 2191: 2186: 2181: 2175: 2173: 2170:Frameworks and 2167: 2166: 2164: 2163: 2158: 2153: 2148: 2142: 2140: 2136: 2135: 2133: 2132: 2127: 2122: 2117: 2111: 2109: 2102: 2098: 2097: 2091: 2089: 2088: 2081: 2074: 2066: 2060: 2059: 2053: 2043: 2037: 2027: 2021: 2016: 2013:PNaCl examples 2010: 2003: 2000: 1999: 1998: 1993: 1988: 1972: 1961: 1942: 1926: 1925:External links 1923: 1921: 1920: 1891: 1871: 1857: 1846:. The Register 1834: 1811: 1788: 1763: 1749: 1723: 1693: 1670: 1648: 1629: 1606: 1592: 1570: 1559:. Chromium.org 1548: 1537:. The Register 1525: 1503: 1481: 1455: 1441: 1419: 1393: 1370: 1338: 1316: 1294: 1272: 1249: 1223: 1197: 1183: 1169: 1150: 1129: 1101: 1083: 1058: 1030: 1008: 994: 972: 945: 919: 908:. The Register 891: 862: 860: 857: 856: 855: 849: 843: 837: 832: 826: 825: 809: 806: 781: 778: 774:Håkon Wium Lie 742: 739: 711: 708: 703: 700: 691: 688: 671: 668: 656:(version 18). 646: 645: 642: 639: 636: 633: 630: 617: 614: 591:, the name of 570: 567: 417: 414: 279: 278: 268:/native-client 256: 252: 251: 246: 240: 239: 233: 227: 226: 221: 217: 216: 203: 197: 196: 179: 173: 172: 163: 159: 158: 156: 155: 126: 124: 118: 117: 114: 113: 85: 83: 81:Stable release 77: 76: 73: 72: 59: 55: 54: 48: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 3179: 3168: 3165: 3163: 3160: 3158: 3155: 3153: 3150: 3149: 3147: 3132: 3131:Web framework 3129: 3125: 3122: 3120: 3117: 3115: 3112: 3111: 3110: 3107: 3105: 3102: 3098: 3095: 3094: 3093: 3092:Web standards 3090: 3086: 3083: 3081: 3078: 3077: 3076: 3073: 3071: 3070:Microservices 3068: 3067: 3065: 3061: 3051: 3048: 3046: 3043: 3041: 3038: 3036: 3033: 3031: 3027: 3023: 3020: 3019: 3017: 3013: 3003: 3000: 2997: 2994: 2992: 2989: 2987: 2984: 2983: 2981: 2977: 2971: 2968: 2966: 2963: 2962: 2960: 2958: 2954: 2948: 2945: 2943: 2940: 2938: 2935: 2933: 2930: 2928: 2925: 2923: 2920: 2918: 2915: 2913: 2910: 2908: 2905: 2903: 2900: 2898: 2895: 2893: 2890: 2889: 2887: 2885: 2881: 2875: 2872: 2870: 2867: 2865: 2862: 2860: 2859:Web messaging 2857: 2855: 2852: 2850: 2847: 2845: 2842: 2840: 2837: 2835: 2832: 2830: 2827: 2825: 2822: 2821: 2819: 2817: 2813: 2810: 2808: 2804: 2798: 2795: 2793: 2790: 2788: 2785: 2781: 2778: 2777: 2776: 2773: 2771: 2768: 2764: 2761: 2759: 2756: 2755: 2754: 2751: 2750: 2748: 2746: 2742: 2739: 2737: 2733: 2723: 2720: 2716: 2713: 2712: 2711: 2708: 2706: 2703: 2701: 2698: 2696: 2692: 2689: 2687: 2683: 2680: 2679: 2677: 2673: 2667: 2664: 2662: 2659: 2657: 2654: 2652: 2649: 2647: 2644: 2642: 2639: 2637: 2634: 2632: 2629: 2627: 2624: 2622: 2619: 2617: 2614: 2612: 2609: 2608: 2606: 2604: 2600: 2592: 2589: 2588: 2587: 2584: 2582: 2579: 2577: 2574: 2572: 2569: 2567: 2564: 2562: 2559: 2557: 2554: 2552: 2549: 2545: 2542: 2541: 2540: 2537: 2535: 2532: 2530: 2527: 2525: 2522: 2520: 2517: 2516: 2514: 2512: 2508: 2502: 2499: 2497: 2494: 2492: 2489: 2487: 2484: 2482: 2479: 2477: 2474: 2470: 2467: 2465: 2462: 2460: 2457: 2455: 2452: 2451: 2450: 2447: 2446: 2444: 2442: 2438: 2435: 2433: 2429: 2425: 2418: 2413: 2411: 2406: 2404: 2399: 2398: 2395: 2383: 2380: 2378: 2375: 2373: 2372: 2368: 2366: 2363: 2362: 2360: 2356: 2346: 2343: 2341: 2338: 2336: 2333: 2331: 2328: 2326: 2323: 2322: 2320: 2316: 2310: 2307: 2305: 2302: 2300: 2297: 2295: 2292: 2290: 2287: 2285: 2282: 2280: 2277: 2275: 2272: 2270: 2267: 2265: 2262: 2260: 2257: 2255: 2252: 2250: 2247: 2245: 2242: 2240: 2237: 2235: 2232: 2230: 2227: 2225: 2222: 2220: 2217: 2215: 2212: 2210: 2209:Closure Tools 2207: 2205: 2202: 2200: 2197: 2195: 2192: 2190: 2187: 2185: 2182: 2180: 2177: 2176: 2174: 2168: 2162: 2159: 2157: 2154: 2152: 2149: 2147: 2144: 2143: 2141: 2137: 2131: 2128: 2126: 2123: 2121: 2118: 2116: 2113: 2112: 2110: 2106: 2103: 2099: 2094: 2087: 2082: 2080: 2075: 2073: 2068: 2067: 2064: 2057: 2054: 2051: 2047: 2044: 2041: 2038: 2035: 2031: 2028: 2025: 2022: 2020: 2017: 2014: 2011: 2009: 2006: 2005: 2001: 1997: 1994: 1992: 1989: 1986: 1982: 1978: 1973: 1971: 1967: 1962: 1951: 1947: 1943: 1940: 1934: 1929: 1928: 1924: 1917: 1906: 1902: 1895: 1892: 1887: 1886: 1881: 1875: 1872: 1867: 1861: 1858: 1845: 1838: 1835: 1823:. youtube.com 1822: 1815: 1812: 1799: 1792: 1789: 1777: 1773: 1767: 1764: 1759: 1753: 1750: 1738: 1734: 1727: 1724: 1711: 1707: 1703: 1697: 1694: 1681: 1674: 1671: 1659: 1652: 1649: 1644: 1643:Chromium Blog 1640: 1633: 1630: 1617: 1610: 1607: 1602: 1596: 1593: 1580: 1579:"Pepper.wiki" 1574: 1571: 1558: 1552: 1549: 1536: 1529: 1526: 1513: 1507: 1504: 1491: 1485: 1482: 1469: 1465: 1459: 1456: 1451: 1445: 1442: 1429: 1423: 1420: 1407: 1400: 1398: 1394: 1381: 1374: 1371: 1359:on 2 May 2012 1355: 1348: 1342: 1339: 1326: 1320: 1317: 1304: 1298: 1295: 1282: 1276: 1273: 1260: 1253: 1250: 1237: 1233: 1227: 1224: 1211: 1207: 1201: 1198: 1193: 1187: 1184: 1179: 1173: 1170: 1165: 1161: 1154: 1151: 1139: 1133: 1130: 1118: 1117: 1112: 1105: 1102: 1097: 1096:Chromium Blog 1093: 1087: 1084: 1072: 1068: 1062: 1059: 1047: 1046:Chromium Blog 1043: 1037: 1035: 1031: 1018: 1012: 1009: 1004: 998: 995: 982: 976: 973: 960: 956: 949: 946: 933: 929: 923: 920: 907: 900: 898: 896: 892: 879: 878: 873: 867: 864: 858: 853: 850: 847: 844: 841: 838: 836: 833: 831: 828: 827: 823: 812: 807: 805: 803: 799: 795: 791: 787: 779: 777: 775: 771: 769: 765: 761: 756: 754: 750: 746: 740: 738: 735: 731: 727: 723: 721: 717: 709: 707: 701: 699: 697: 689: 687: 685: 680: 676: 669: 667: 664: 662: 657: 655: 651: 643: 640: 637: 634: 631: 628: 627: 626: 624: 615: 613: 611: 607: 603: 602:Google Chrome 599: 594: 590: 586: 582: 579:NaCl denotes 576: 568: 566: 564: 563:GNU C Library 560: 556: 551: 549: 544: 542: 538: 534: 530: 529:GNU toolchain 526: 522: 517: 515: 511: 507: 504: 501: 496: 494: 490: 486: 482: 477: 475: 474:Google Chrome 471: 467: 463: 462: 457: 456: 451: 450: 445: 444: 439: 438: 433: 432: 427: 423: 415: 413: 411: 407: 402: 400: 396: 392: 387: 385: 381: 376: 374: 370: 366: 362: 359:). NaCl runs 358: 354: 353: 348: 344: 340: 335: 333: 329: 325: 321: 317: 313: 309: 305: 301: 297: 293: 289: 285: 276: 271: 257: 253: 250: 247: 245: 241: 237: 234: 232: 228: 225: 222: 218: 215: 211: 207: 204: 202: 198: 195: 191: 187: 183: 180: 178: 174: 171: 167: 164: 160: 153: 148: 133:.googlesource 128: 127: 125: 123: 119: 115: 111: 110: 109:Google Chrome 106: 91: 88: 84: 82: 78: 74: 60: 56: 52: 49: 47: 43: 37: 33: 19: 2779: 2745:Browser APIs 2686:Web resource 2369: 2283: 2108:Applications 2032:, a port of 2008:Folding@home 1953:. Retrieved 1949: 1915: 1908:. Retrieved 1904: 1894: 1883: 1874: 1860: 1848:. Retrieved 1837: 1825:. Retrieved 1814: 1802:. Retrieved 1791: 1779:. Retrieved 1775: 1766: 1752: 1740:. Retrieved 1737:Ars Technica 1736: 1726: 1714:. Retrieved 1710:the original 1696: 1684:. Retrieved 1673: 1661:. Retrieved 1651: 1642: 1632: 1620:. Retrieved 1609: 1595: 1583:. Retrieved 1573: 1561:. Retrieved 1551: 1539:. Retrieved 1528: 1516:. Retrieved 1506: 1494:. Retrieved 1484: 1472:. Retrieved 1468:the original 1458: 1444: 1432:. Retrieved 1422: 1410:. Retrieved 1384:. Retrieved 1373: 1361:. Retrieved 1354:the original 1341: 1329:. Retrieved 1319: 1307:. Retrieved 1297: 1285:. Retrieved 1275: 1263:. Retrieved 1252: 1240:. Retrieved 1236:the original 1226: 1214:. Retrieved 1210:the original 1200: 1192:"Index of /" 1186: 1172: 1163: 1153: 1141:. Retrieved 1132: 1120:. Retrieved 1114: 1104: 1095: 1086: 1074:. Retrieved 1070: 1061: 1049:. Retrieved 1045: 1021:. Retrieved 1011: 997: 985:. Retrieved 975: 963:. Retrieved 959:the original 948: 936:. Retrieved 932:the original 922: 912:17 September 910:. Retrieved 882:. Retrieved 877:The Register 875: 866: 794:Google Cloud 783: 772: 757: 753:Jay Sullivan 747: 744: 724: 713: 705: 693: 690:Applications 673: 665: 658: 647: 619: 578: 552: 545: 537:GNU Binutils 518: 510:magic number 497: 478: 459: 453: 447: 441: 435: 429: 419: 403: 388: 377: 350: 349:, including 336: 287: 283: 282: 104: 103: 86: 46:Developer(s) 36: 3124:Progressive 3119:Single-page 2927:WebAssembly 2907:Geolocation 2864:Web storage 2770:C NPRuntime 2758:LiveConnect 2736:Client-side 2682:Web service 2611:mod_include 2566:Python ASGI 2561:Python WSGI 2511:Server APIs 2432:Server-side 2219:FlatBuffers 2024:torapp.info 1242:24 February 1232:"From Dust" 1216:26 November 1076:20 December 846:WebAssembly 802:WebAssembly 726:Id Software 684:end-of-life 606:Adobe Flash 422:open-source 410:Chrome Apps 406:WebAssembly 345:-intensive 318:, allowing 312:web browser 308:native code 224:WebAssembly 3146:Categories 2892:DOM events 2869:Web worker 2854:WebSockets 2715:comparison 2651:mod_python 2631:mod_parrot 2464:Encryption 2330:ChromiumOS 2304:TensorFlow 2269:Kubernetes 2125:OpenRefine 1985:Google I/O 1706:Adobe Inc. 1686:30 October 1116:9to5Google 1023:12 October 965:9 December 859:References 835:Emscripten 786:sandboxing 758:Mozilla's 741:Detractors 720:JavaScript 710:Supporters 654:WebSockets 573:See also: 292:sandboxing 162:Written in 122:Repository 99:2015-07-10 68:2011-09-16 3050:Scripting 2912:IndexedDB 2763:XPConnect 2722:Scripting 2646:mod_proxy 2591:container 2581:Perl PSGI 2571:Ruby Rack 2544:container 2501:WebSocket 2441:Protocols 2189:AngularJS 2130:Tesseract 2040:SodaSynth 1827:26 August 1781:27 August 1682:. Mozilla 1518:10 August 1122:2 October 840:Sandboxie 702:Reception 559:C library 461:From Dust 365:OpenGL ES 343:processor 260:developer 220:Successor 90:Pepper 45 3075:Web page 2932:WebAuthn 2807:Web APIs 2700:Open API 2661:mod_ruby 2656:mod_wsgi 2636:mod_perl 2626:mod_mono 2621:mod_lisp 2551:CLI OWIN 2345:Goobuntu 2289:OR-Tools 2115:Chromium 2101:Software 2002:Examples 1910:1 August 1850:25 April 1804:25 April 1742:1 August 1663:15 April 1622:25 April 1585:25 April 1563:25 April 1541:25 April 1496:25 April 1474:25 April 1434:16 March 1363:25 April 1309:16 March 1287:25 April 1265:25 April 1143:25 April 987:25 April 938:16 March 884:12 March 808:See also 768:DLL Hell 734:QuakeCon 661:Chromium 650:Gamepads 612:viewer. 506:bytecode 416:Overview 347:graphics 324:ChromeOS 320:web apps 201:Platform 194:ChromeOS 131:chromium 107:Same as 105:Clients: 53:, others 3085:Dynamic 3045:Web IDL 2991:GraphQL 2957:Khronos 2787:ActiveX 2775:C PPAPI 2753:C NPAPI 2705:Webhook 2641:mod_php 2586:Portlet 2534:COM ASP 2529:C ISAPI 2524:C ASAPI 2519:C NSAPI 2365:Code-in 2358:Related 2335:Fuchsia 2294:Polymer 2274:LevelDB 2254:Guetzli 2224:Flutter 2214:Cpplint 2204:Blockly 2184:Angular 2161:Sawzall 2056:Bennugd 2030:NACLBox 1981:YouTube 1970:YouTube 1716:31 July 1412:31 July 1386:31 July 764:ActiveX 749:Mozilla 675:Firefox 623:process 621:out-of- 587:; as a 557:as its 535:(GCC), 384:ActiveX 352:Bastion 328:plugins 310:from a 262:.chrome 255:Website 249:New BSD 244:License 236:Sandbox 182:Windows 145:_client 143:/native 139:_client 137:/native 97: ( 66: ( 3162:Google 3080:Static 3063:Topics 3040:Mashup 3015:Topics 3002:WebUSB 2979:Others 2942:WebRTC 2937:WebGPU 2829:Canvas 2816:WHATWG 2675:Topics 2616:mod_jk 2469:WebDAV 2340:gLinux 2279:libvpx 2264:gVisor 2234:Gerrit 2146:Carbon 2093:Google 2034:DOSBox 1955:2 July 1885:GitHub 1331:19 May 1164:GitHub 1051:31 May 854:(XBAP) 790:gVisor 593:pepper 569:Pepper 555:Newlib 539:, and 491:, and 485:x86-64 470:Csound 464:, and 426:Google 391:asm.js 332:ZeroVM 51:Google 3030:DHTML 2986:Gears 2970:WebGL 2965:WebCL 2947:WebXR 2849:Video 2824:Audio 2259:Guice 2239:Guava 2229:Gears 2199:Bazel 2120:Gemma 1905:InfoQ 1357:(PDF) 1350:(PDF) 616:PPAPI 598:NPAPI 489:IA-32 431:Quake 373:mouse 339:games 302:, or 266:/docs 190:macOS 186:Linux 18:PPAPI 3114:Rich 3097:REST 3028:vs. 3024:and 3022:Ajax 2902:File 2834:CORS 2797:XBAP 2780:NaCl 2693:vs. 2684:vs. 2496:WSRP 2486:FCGI 2481:SCGI 2449:HTTP 2325:AOSP 2284:NaCl 2249:Gson 2244:gRPC 2194:Beam 2151:Dart 1987:2009 1957:2022 1912:2020 1852:2012 1829:2012 1806:2012 1783:2016 1744:2023 1718:2023 1688:2016 1665:2016 1624:2012 1587:2012 1565:2012 1543:2012 1520:2013 1498:2012 1476:2012 1436:2014 1414:2011 1388:2011 1365:2012 1333:2010 1311:2014 1289:2012 1267:2012 1244:2016 1218:2013 1145:2012 1124:2021 1078:2018 1053:2017 1025:2016 989:2012 967:2011 940:2014 914:2011 886:2016 716:IMVU 585:salt 541:LLVM 500:LLVM 493:MIPS 466:MAME 449:Doom 437:XaoS 304:MIPS 288:NaCl 264:.com 231:Type 214:MIPS 147:.git 141:/src 135:.com 87:SDK: 2922:SVG 2917:MSE 2897:EME 2884:W3C 2844:SSE 2839:DOM 2792:BHO 2695:ROA 2691:WOA 2491:AJP 2476:CGI 2179:AMP 1979:on 1968:on 728:'s 722:). 610:PDF 589:pun 514:ELF 481:ARM 479:An 412:). 399:C++ 397:or 300:ARM 296:x86 210:ARM 206:x86 170:C++ 3148:: 2459:v3 2454:v2 2309:V8 2156:Go 1948:. 1914:. 1903:. 1882:. 1774:. 1735:. 1704:. 1641:. 1396:^ 1162:. 1113:. 1094:. 1069:. 1044:. 1033:^ 894:^ 874:. 804:. 770:. 550:. 543:. 487:, 458:, 452:, 446:, 440:, 434:, 334:. 298:, 212:, 208:, 192:, 188:, 184:, 168:, 2416:e 2409:t 2402:v 2085:e 2078:t 2071:v 1959:. 1868:. 1854:. 1831:. 1808:. 1785:. 1760:. 1746:. 1720:. 1690:. 1667:. 1645:. 1626:. 1603:. 1589:. 1567:. 1545:. 1522:. 1500:. 1478:. 1452:. 1438:. 1416:. 1390:. 1367:. 1335:. 1313:. 1291:. 1269:. 1246:. 1220:. 1194:. 1180:. 1166:. 1147:. 1126:. 1080:. 1055:. 1027:. 1005:. 991:. 969:. 942:. 916:. 888:. 395:C 286:( 270:/ 166:C 101:) 70:) 34:. 20:)

Index

PPAPI
NaCl (software)
Developer(s)
Google
Stable release
Pepper 45
Google Chrome
Repository
chromium.googlesource.com/native_client/src/native_client.git
Edit this at Wikidata
C
C++
Operating system
Windows
Linux
macOS
ChromeOS
Platform
x86
ARM
MIPS
WebAssembly
Type
Sandbox
License
New BSD
developer.chrome.com/docs/native-client/
Edit this at Wikidata
sandboxing
x86

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.