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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.